首页 > 代码库 > 里氏代换原则(Liskov Substitution Principle,LSP)

里氏代换原则(Liskov Substitution Principle,LSP)

子类必须能够替换其基类

这一思想体现为对继承机制的约束规范,只有子类能够替换基类时,才能保证系统在运行期内识别子类,这是保证继承复用的基础。

在父类和子类的具体行为中,必须严格把握继承层次中的关系和特征,将基类替换为子类,程序的行为不会发生任何变化。同时,这一约束反过来则是不成立的,子类可以替换基类,但是基类不一定能替换子类。

  Liskov替换原则,主要着眼于对抽象和多态建立在继承的基础上,因此只有遵循了Liskov替换原则,才能保证继承复用是可靠地。实现的方法是面向接口编程:将公共部分抽象为基类接口或抽象类,通过Extract
Abstract
Class,在子类中通过覆写父类的方法实现新的方式支持同样的职责。

  Liskov替换原则是关于继承机制的设计原则违反了Liskov替换原则就必然导致违反开放封闭原则

  Liskov替换原则能够保证系统具有良好的拓展性,同时实现基于多态的抽象机制,能够减少代码冗余,避免运行期的类型判别。