posts - 89,  comments - 98,  trackbacks - 0
          轉(zhuǎn)自Cnblogs.com

          法則2:針對接口編程,而非(接口的)實(shí)現(xiàn)

          [ Program To An Interface, Not An Implementation ]

          接口

          n???????? 接口是一個(gè)對象在對其它的對象進(jìn)行調(diào)用時(shí)所知道的方法集合。

          n???????? 一個(gè)對象可以有多個(gè)接口(實(shí)際上,接口是對象所有方法的一個(gè)子集)

          n???????? 類型是對象的一個(gè)特定的接口。

          n???????? 不同的對象可以具有相同的類型,而且一個(gè)對象可以具有多個(gè)不同的類型。

          n???????? 一個(gè)對象僅能通過其接口才會(huì)被其它對象所了解。

          n???????? 某種意義上,接口是以一種非常局限的方式,將“是一種”表達(dá)為“一種支持該接口的”。

          n???????? 接口是實(shí)現(xiàn)插件化(pluggability)的關(guān)鍵

          實(shí)現(xiàn)繼承和接口繼承

          n???????? 實(shí)現(xiàn)繼承類繼承):一個(gè)對象的實(shí)現(xiàn)是根據(jù)另一個(gè)對象的實(shí)現(xiàn)來定義的。

          n???????? 接口繼承子類型化):描述了一個(gè)對象可在什么時(shí)候被用來替代另一個(gè)對象。

          n???????? C++的繼承機(jī)制既指類繼承,又指接口繼承。

          n???????? C++通過繼承純虛類來實(shí)現(xiàn)接口繼承。

          n???????? Java對接口繼承具有單獨(dú)的語言構(gòu)造方式-Java接口。

          n???????? Java接口構(gòu)造方式更加易于表達(dá)和實(shí)現(xiàn)那些專注于對象接口的設(shè)計(jì)。

          接口的好處

          n???????? 優(yōu)點(diǎn):

          F??????? Client不必知道其使用對象的具體所屬類。

          F??????? 一個(gè)對象可以很容易地被(實(shí)現(xiàn)了相同接口的)的另一個(gè)對象所替換。

          F??????? 對象間的連接不必硬綁定(hardwire)到一個(gè)具體類的對象上,因此增加了靈活性。

          F??????? 松散藕合(loosens coupling)。

          F??????? 增加了重用的可能性。

          F??????? 提高了(對象)組合的機(jī)率,因?yàn)楸话瑢ο罂梢允侨魏螌?shí)現(xiàn)了一個(gè)指定接口的類。

          n???????? 缺點(diǎn):

          F??????? 設(shè)計(jì)的復(fù)雜性略有增加

          (譯者注:接口表示“”(LikeA)的關(guān)系,繼承表示“”(IsA)的關(guān)系,組合表示“”(HasA)的關(guān)系。)

          接口實(shí)例

          該方法是指其它的一些類可以進(jìn)行交通工具的駕駛,而不必關(guān)心其實(shí)際上是(汽車,輪船,潛艇或是其它任何實(shí)現(xiàn)了IManeuverabre的對象)。

          posted on 2006-08-02 15:22 水煮三國 閱讀(438) 評(píng)論(0)  編輯  收藏 所屬分類: J2SE
          <2006年8月>
          303112345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          留言簿(4)

          隨筆分類(85)

          隨筆檔案(89)

          文章分類(14)

          文章檔案(42)

          收藏夾(37)

          java

          oracle

          Sybase

          搜索

          •  

          積分與排名

          • 積分 - 211070
          • 排名 - 265

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 淅川县| 庄浪县| 岳普湖县| 墨江| 绥阳县| 迁安市| 长岛县| 富顺县| 金秀| 卓尼县| 柞水县| 思茅市| 巴东县| 沂源县| 普陀区| 买车| 揭阳市| 孙吴县| 山阳县| 湘乡市| 隆尧县| 上林县| 高阳县| 华容县| 都兰县| 上犹县| 中宁县| 卓资县| 浠水县| 梁平县| 台中县| 洪泽县| 鄱阳县| 花垣县| 类乌齐县| 白朗县| 太仆寺旗| 贵溪市| 铜山县| 通辽市| 天水市|