<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    無線&移動互聯網技術研發

    換位思考·····
    posts - 19, comments - 53, trackbacks - 0, articles - 283
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    類與類之間唯妙的關系

    Posted on 2009-07-12 22:50 Gavin.lee 閱讀(253) 評論(0)  編輯  收藏 所屬分類: 類的設計

    做java也有段時日了,但是總覺得自己還很虛,好多不會,即使會的也不能全懂,自己內心感覺到恐慌。

    既然是程序設計,那談到設計了,就不能離開類,因為java中一切的設計都是以類為基礎的。

    從javaeye上找個篇文章,根據自己的理解做了點手術,請作者不要見怪。

    類與類之間存在以下關系:

    1、 泛化(Generalization)

    很簡單,就是我們常說的繼承。是說子類獲得父類的功能的同時,還可以擴展自己的功能。 如圖:
      

    Java代碼中表現為:extends 和 implements

    2、 依賴(Dependency)

    兩個相對獨立的咚咚(A和B),當A負責構造B時,A與B形成依賴關系,即A使用B。如圖:

     

    <v:shape id="_x0000_i1026" style="WIDTH: 378pt; HEIGHT: 81.75pt" type="#_x0000_t75"><v:imagedata o:title="Dependency" src="file:///D:\DOCUME~1\Yaogao\LOCALS~1\Temp\msohtml1\01\clip_image003.wmz"></v:imagedata></v:shape>

    Java代碼中:表現為局部變量,方法的參數,以及對靜態方法的調用

    3、 關聯(Association )

       兩個相對獨立的咚咚(A和B),當A對象持有B對象的時候,形成關聯關系。

    關于分為有兩種特殊的形式,聚合(Aggregation)和組合(Composition),聚合和組合只有概念上的區別,在Java中的代碼實現上沒有區別。

    聚合:指的是整體與部分的關系,如圖:

     

    組合:表示類之間整體和部分的關系,但是組合關系中部分和整體具有統一的生存期,即整體對象不存在,部分對象也將不存在,如圖:

     

    Java代碼中:表現為成員變量。

    4、 總結

    在Java中,應該盡量優先使用組合,而不是繼承,因為繼承會使得類關系過于復雜化,破壞了封裝性,使用組合一樣可以獲得已有類的功能,而且會使新類更加穩固。

    實際上,從依賴 -----〉聚合--------〉組合,類與類之間的關系更加緊密,互相之間的影響越來越大,其實我們平常比較少去區分這些關系,而且事實上這東西的定義不太好理解,所以肯定會導致認識上的偏差,所以我們使用這些東西的時候,盡量靠近大家都認同的做法,這樣容易讓別人理解。


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


    網站導航:
     
    主站蜘蛛池模板: 激情综合色五月丁香六月亚洲| 国产AV无码专区亚洲AV漫画| 亚洲精品A在线观看| 爱情岛亚洲论坛在线观看| 女人被男人躁的女爽免费视频| 亚洲欧洲日产国码一级毛片| 羞羞视频网站免费入口| 国产午夜影视大全免费观看| 日本一区二区在线免费观看| 亚洲国产成人久久综合区| 亚洲五月午夜免费在线视频| 亚洲精品你懂的在线观看| 桃子视频在线观看高清免费视频 | 久久亚洲日韩看片无码| 中文字幕无线码中文字幕免费| 国产99视频精品免费观看7| 亚洲性猛交xx乱| 在线免费一区二区| 美女被爆羞羞网站在免费观看| 88xx成人永久免费观看| 亚洲mv国产精品mv日本mv| 日韩免费视频一区| 一日本道a高清免费播放| 久久精品国产亚洲沈樵| 97碰公开在线观看免费视频| 亚洲国产欧洲综合997久久| 亚洲人成色77777在线观看大| 亚洲人成自拍网站在线观看| 亚洲国产成人VA在线观看| 暖暖免费日本在线中文| 91亚洲视频在线观看| 又粗又大又硬又爽的免费视频| 亚洲日本人成中文字幕| 国产精品免费_区二区三区观看| 亚洲一区二区三区国产精品无码| 免费国产污网站在线观看| 亚洲看片无码在线视频| 亚洲精品无码99在线观看 | 国产免费网站看v片在线| 亚洲精品自在线拍| 国产一精品一aⅴ一免费|