文章目录

产生原因:继承时子类重写引起的问题

设计模式(4) --里氏替换原则_父类

什么是里氏替换原则

设计模式(4) --里氏替换原则_父类_02


看了解释更不知道啥意思。其实关键就是一句话 ​​子类中尽量不要去写重写父类已经实现的方法,可以通过聚合,组合,依赖来解决问题​.

举例说明

不遵循里氏替换原则的案例

类图

设计模式(4) --里氏替换原则_父类_03


代码

设计模式(4) --里氏替换原则_子类_04


运行结果:

设计模式(4) --里氏替换原则_子类_05


显然,用户可能会混淆子类和父类重写方法的结果!!!!

改进方案

类图

设计模式(4) --里氏替换原则_里氏替换原则_06


代码

设计模式(4) --里氏替换原则_父类_07


运行结果:

设计模式(4) --里氏替换原则_父类_08


完美