设计模式 里氏替换原则

思维导图在 设计模式

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

有点绕口,通俗的讲:

B类继承A类后,可以新增功能,但尽量不要重写A类的方法,也不要重载A类后方法。

子类可以扩展父类的功能,但不能改变父类原有的功能:

  • 子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法。
  • 子类中可以增加自己特有的方法。
  • 当子类的方法重载父类的方法时,方法的前置条件(即方法的形参)要比父类方法的输入参数更宽松。
  • 当子类的方法实现父类的抽象方法时,方法的后置条件(即方法的返回值)要比父类更严格。

猜你喜欢

转载自www.cnblogs.com/yinghualuowu/p/9373820.html