简介:里氏替换原则(Liskov Substitution Principle),简称LSP。
定义:如果对每一个类型为S的对象o1,都有类型为T的对象o2,使得以T定义的所有程序P在所有的对象o1都代换成o2时,程序P的行为没有发生变化,那么类型S是类型T的子类型。
定义:所有引用基类的地方必须能透明地使用其子类的对象。
总结:父类替换成子类而不会产生任何错误或异常,反之,不一定成立。
解读:子类必须完全实现父类的方法,同时也可以有自己的属性和方法,覆盖或实现父类的方法输入参数可以被放大,输出结果可以被缩小。