里氏代換原則小結

          里氏代換原則是對“開-閉”原則的補充,是對實現抽象化具體步驟的規范。

          里氏代換原則的嚴格表達是:
              如果對每一個類型為T1的對象o1,都有類型為T2的對象o2,使得以T1定義所有程序P在所有的對象o1都代換成o2時,程序P的行為沒有變化,那么類型T2是類型T1的子類型。
              換言之,如果一個軟件實體使用的是一個基類的話,那么一定使用于其子類,而且它根本不能覺察出基類對象與子類對象的區別。
              比如,有兩個類,一個是基類Base,一個是其子類Derived。如果有一方法能接受一個Base類的對象b的話:
                  method(b);
           
             那么它必然可以接受一個子類Derived的對象d,既也可以有
                 
          method(d);
              里氏代換原則是繼承復用的基石。只有當衍生類可以替換掉基類,軟件單位的功能呢不受影響時,基類才能被真正的復用,而衍生類才能在基類的基礎上增加新的行為。

          Kyle Wang

          posted on 2011-07-18 21:55 王樹東 閱讀(68) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導航

          統計

          公告

          常用鏈接

          留言簿

          隨筆分類(17)

          隨筆檔案(15)

          文章分類(4)

          文章檔案(5)

          收藏夾(4)

          Algorithm

          Design

          Environment Setup

          Installer

          Maven

          MINA

          OS

          Skills for Java

          VIM

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 金寨县| 山东| 佳木斯市| 临潭县| 连南| 武功县| 盱眙县| 定边县| 杭锦后旗| 宁河县| 芮城县| 滨州市| 五华县| 剑阁县| 门源| 阿城市| 芮城县| 中阳县| 文化| 尼玛县| 庆城县| 台北市| 六枝特区| 通城县| 巴东县| 晋江市| 鸡泽县| 惠水县| 枞阳县| 霍林郭勒市| 东山县| 叶城县| 旺苍县| 灌南县| 甘肃省| 乌恰县| 环江| 安图县| 常山县| 南雄市| 南溪县|