LSP(Liskov替换原则)
定义:子类型必须能够替换掉它们的基类型
问题:在使用OCP原则时,如果子类无法替换基类,而调用者却默认有这样的假设,造成程序错误的根源.
启发式原则: ①派生类中的退化函数.(派生类将基类函数覆盖置空)
②派生类抛出异常
注意:这里①只是通用的原则,实际上又是存在这种情况也满足LSP
解决办法:提取原来继承体系的公共部分,将原来继承体系中的父子类从抽象出来的类继承.
理解:继承体系够用就好,因为我们很难写出完全满足这个原则的代码.等到真正出现问题之后再来做处理