面向对象程序设计六大原则-里氏替换原则

时间:2021-12-31 17:23:59

简介

什么是里氏替换原则

严格定义
如果对每一个类型为 T1的对象 o1,都有类型为 T2 的对象o2,使得以 T1定义的所有程序 P 在所有的对象 o1 都代换成 o2 时,程序 P 的行为没有发生变化,那么类型 T2 是类型 T1 的子类型。

通俗定义
任何基类可以出现的地方,子类一定可以出现。

为什么要遵守里氏替换原则

LSP是继承复用的基石,只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,基类才能真正被复用,而衍生类也能够在基类的基础上增加新的行为。

如何遵守里氏替换原则

  • 在程序中尽量使用基类类型来对对象进行定义,而在运行时再确定其子类类型,用子类对象来替换父类对象。

优缺点

优点

待补充

缺点

待补充

问题

待补充