里式替换原则
子类对象能够替换程序中父类对象出现的任何地方,并且保证原来程序的逻辑行为不变及正确性不被破坏。
哪些代码明显违背了里式替换
- 子类违背父类声明要实现的功能
- 子类违背父类对输入、输出、异常的约定
- 子类违背父类注释中所罗列的任何特殊说明
理解这个原则,我们还要弄明白里式替换原则跟多态的区别。虽然从定义描述和代码实现上来看,多态和里式替换有点类似,但它们关注的角度是不一样的。多态是一种语法。它是一种代码实现的思路。而里式替换是一种设计原则。
此文章为 8 月Day17学习笔记,内容来源于 极客时间《设计模式之美》。