里氏代換原則小結

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

          里氏代換原則的嚴格表達是:
              如果對每一個類型為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

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 交口县| 泽州县| 富蕴县| 泰兴市| 利辛县| 平顺县| 深圳市| 新乐市| 鸡西市| 威信县| 奉化市| 宜兰县| 大宁县| 霍山县| 鄄城县| 台前县| 英德市| 宜宾县| 梁平县| 宜黄县| 瑞安市| 门源| 额济纳旗| 建宁县| 深水埗区| 内丘县| 罗江县| 化德县| 寻甸| 陆河县| 娱乐| 瑞丽市| 平定县| 白水县| 新沂市| 马山县| 合山市| 灯塔市| 桐庐县| 赤壁市| 宜昌市|