目录
前言
OO(Object Oriented 面向对象) 设计的六大原则:OCP(开闭原则),DIP(依赖倒置原则),ISP(接口隔离原则),LSP(里氏替换原则),SRP(单一职责原则),LKP(迪米特法则)
里氏替换原则
定义
面向对象的基本设计原则之一,里氏替换原则中说,任何基类可以出现的地方,子类一定可以出现。举例来说:假设对于每一个类C1的对象O1,都有类C2的对象O2,使得软件程序中所有对象O1都被替换成O2的时候,程序的行为和功能没有发生任何变化,则说类型C2是类型C1的子类型。
场景
假设有类A,拥有方法getInitNumber(),实现是直接return 0; 然后呢我们写了一个类B去继承类A,并重写了getInitNumber()方法,让它的实现变为return 1; 那么别人将所有的类A的对象使用方法getInitNumber()的地方全部替换为类B的对象使用getInitNumber()方法,返回值变了,所以得到的结果页变了,程序行为改变,那么依照里氏替换原则,类