里氏替换原则
作者:互联网
里氏替换原则
基本介绍:
- 如果对每个类型T1的对象O1都有类型为T2的对象O2,使得以T1定义的所有程序P在所有对象O1都代换成O2时,程序P的行为没有发生变化,那么类型T2时类型T1下的子类型,即换句话来说,所有引用基类的地方必须透明地使用其子类的对象
- 在使用继承时,遵循里氏替换原则,在子类中尽量不要重写父类方法
- 里氏替换原则告诉我们,继承在一定程度上使得两个类的耦合性增强了,在适当的情况下,可以通过聚合,组合,依赖来解决问题。
当A类重写了B类中的方法的时候,导致A类使用B类方法时会造成错误,即需要定义一个更加抽象的类使得两个类进行聚合,组合,依赖来解决问题
当问题如下的时候
解决方案如下 在A类中组合B类,使得A类方法调用的时候调用属性B的方法,就不会导致错误调用
注意事项与细节:
- 在原先功能下类A重写了父类的方法导致了原有功能出现错误,导致了整个继承体系的复用性比较差,特别在多态情况下的时候
- 解决做法: 将原来的父类和子类都继承了一个通俗的基类。原有的继承关系去掉,采用依赖聚合组合的关系代替
标签:原则,继承,里氏,T1,父类,重写,替换 来源: https://www.cnblogs.com/wuyiyuan/p/15224052.html