Nib*_*Pig 6 c# oop solid-principles
在查看维基百科文章后,我对"子类型"一词不熟悉.
我把Liskov替换意味着,如果你有接受一个方法Animal,你应该能够在通过Cat或Animal在那里Cat : Animal没有任何意想不到的副作用.
Animal
Cat
Cat : Animal
这是Liskov替换所指的吗?
Bri*_*new 3
确切地。任何接受 Animal 的东西都应该能够接受 Dog、Cat 和子类(品种,如果你喜欢的话)。这些方法将是兼容的。
还要注意,子类型中的前提条件不能被加强,后置条件也不能被削弱。否则,您可以插入特定的子类型,这会破坏,因为周围的代码强加了子类无法容忍的某些先决条件。这在实践中可能很难实现 -有关更多信息,请参阅圆/椭圆问题。
归档时间:
13 年,4 月 前
查看次数:
144 次
最近记录: