zoukankan      html  css  js  c++  java
  • 设计模式之里氏替换原则

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

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

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

    概念:

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

    改成以下的方式:

  • 相关阅读:
    [JZOJ3388] 绿豆蛙的归宿

    [JZOJ3464] 秀姿势
    [JZOJ3462] 休息
    [JZOJ3461] 小麦亩产一千八
    [JZOJ3509] 倒霉的小C
    [JZOJ1267] 路障
    CF52C Circular RMQ
    P4162 [SCOI2009]最长距离
    P4047 [JSOI2010]部落划分
  • 原文地址:https://www.cnblogs.com/chenmz1995/p/12381984.html
Copyright © 2011-2022 走看看