0%

2.2 纠纷不断 规则压制

2.2 纠纷不断 规则压制

里氏替换原则为良好的继承定义了一个规范,一句简单的定义包含了4层含义。

1. 子类必须完全实现父类的方法

注意:在类中调用其他类时务必要使用父类或接口,如果不能使用父类或接口,则说明类的设计已经违背了LSP原则。
注意:如果子类不能完整地实现父类的方法,或者父类的某些方法在子类中已经发生”畸变”,则建议断开父子继承关系,采用依赖、聚集、组合等关系代替继承。

2.子类可以有自己的个性

3.覆盖或实现父类的方法时输入参数可以被放大

子类中方法的前置条件必须与超类中被覆写的方法的前置条件相同或者更宽松。

4.覆写或实现父类的方法时输出结果可以被缩小

原文链接: 2.2 纠纷不断 规则压制