设计模式之里氏代换原则(LSP)
概念:
任何基类出现的地方都可以用其子类来替换
核心原则:
1) 子类应当具有基类的所有方法,而不应该将基类的方法重置或者注销
2) 如果有一个继承关系形成的等级结构的话,那么在这个树状等级结构中,所有的树叶节点都应该是具体实现类,而所有的树枝节点都应该是抽象类或者Java接口(也就是尽量从抽象类继承而不从具体类继承)
加深理解:
里氏代换原则讲的是基类和子类之间的关系,只有当这种关系存在时,里氏代换关系才存在,反之则不存在;
从代码重构的角度理解: