Liskov于1987年提出了一个关于继承的原则“Inheritance should ensure that any property proved about supertype objects also holds for subtype objects.——继承必须确保超类所拥有的性质在子类中仍然成立。”也就是说,当一个子类的实例应该能够替换任何其超类的实例时,它们之间才具有is-A关系。
继承应该是行为的继承而不是属性的继承.对于基类出现的地方都能够用子类来替换,而不改变程序运行的结果.
举例说明:正方形不是长方形
继承原则
本文介绍了Liskov在1987年提出的继承原则,强调了继承应当确保超类的所有属性和行为在子类中同样适用,即子类实例可以替换超类实例而不改变程序的行为。文章还举例说明了正方形不能被视为长方形的原因。
3280

被折叠的 条评论
为什么被折叠?



