设计模式之里氏替换原则

面向对象编程中存在的问题:

1)在子类层面上,因为子类可以对父类已经实现的方法进行任意的修改。可能对继承体系造成破坏。

2)在父类层面上,如果父类修改了,所有涉及到子类的功能都有可能产生故障。

概念:

里氏替换原则并不是不让我们使用继承,所有引用基类的地方必须能透明地使用其子类的对象,在子类中尽量不要重写父类的方法。如果非得重写,就换一种方式,可以通过继承一个更为通俗的类(注意通俗二字,通俗的意思表示所有子类和父类所有的某些行为基本一样,然后抽取出来),然后这两个类实现不同的方法(这个方法不在通俗的基类里面)。原有的继承关系去掉,采用依赖,聚合,组合等该你代替。

改成以下的方式:

原文地址:https://www.cnblogs.com/chenmz1995/p/12381984.html