设计模式之里氏替换原则

 

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

 

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

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

 

概念:

 

 

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

 

改成以下的方式:

 

posted @ 2020-02-29 13:01  护花使者  Views(139)  Comments(0Edit  收藏  举报