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

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

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

    posts - 8, comments - 13, trackbacks - 0, articles - 43
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    聚合與組合的區別?

    Posted on 2010-08-01 14:17 kangaroo 閱讀(27102) 評論(5)  編輯  收藏

    記得在當時學習uml總是不好分清聚合與組合的關系,找工作時特地復習了這塊的內容,結果正巧被面試官問道,這兩天又在搞這塊的內容,對聚合與組合有了更清楚的了解:

    聚合:表示兩個對象之間是整體和部分的關系,部分的生命周期可以超越整體。如電腦和鼠標,就可以用一下圖形表示:



    組合:表示兩個對象之間是整體和部分的關系,部分的生命周期不能超越整體,或者說不能脫離整體而存在。組合關系的“部分”,是不能在整體之間進行共享的。如人和眼睛的關系:

    不過,如果你要說,眼睛可以移植,是不是說可以脫離人而存在,它們就不是組合關系了?其實,UML中對象的關系都是在相應的軟件環境或實際場景下定義的,這里區別聚合和組合的關系,關鍵還是在于它們之中整體和部分的關系強、弱,以及它們之間的依附關系。如果剛才說眼睛可以移植給別人,那你也可以把它認為是聚合,這都要結合實際場景來說明。

    另外兩個比較重要的關系是關聯和依賴:
    關聯:簡單的可以認為,如果一個類作為了另外一個類的屬性,那一定是關聯關系。但你要知道,聚合是一種特殊的關聯,而組合又是一種特殊的聚合。一般的關聯我們認為是平級的、無整體部分關系的,如朋友關系。

    依賴:對象之間的臨時關系,臨時性體現在不超越方法的周期。簡單的說,在方法使用到的,如參數類,就一定是依賴關系。

    最后想說一句,實際工作中,我并沒有發現區分這四種關系有多么大的用處,也許自己還沒有碰到,只是覺得可能每個學習它的同學總想把它搞清楚,但實際工作中作用并不明顯。

    評論

    # re: 聚合與組合的區別?  回復  更多評論   

    2011-06-11 17:37 by 訛213213
    123

    # re: 聚合與組合的區別?  回復  更多評論   

    2012-05-17 22:44 by 歐迪佐
    對于是否完全控制對象內部,作為屬性的其他對象的生命周期,如果是強關系則控制,弱關系就由外部去控制。

    # re: 聚合與組合的區別?  回復  更多評論   

    2014-09-01 10:52 by 564+

    2

    # re: 聚合與組合的區別?  回復  更多評論   

    2014-11-07 19:48 by yrsb
    等于沒說

    # re: 聚合與組合的區別?[未登錄]  回復  更多評論   

    2015-07-28 09:07 by 111
    確實等于沒說

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


    網站導航:
     
    主站蜘蛛池模板: 免费在线看黄网站| 国产97视频人人做人人爱免费| 鲁大师在线影院免费观看| 亚洲男人的天堂www| 一级毛片人与动免费观看| 国产中文字幕免费观看| 337p日本欧洲亚洲大胆人人| 国产免费看插插插视频| 成人在线免费视频| 久久久久亚洲av成人无码电影| 曰韩无码AV片免费播放不卡| 区三区激情福利综合中文字幕在线一区亚洲视频1 | 2021国内精品久久久久精免费| 亚洲天堂一区二区| 91情侣在线精品国产免费| 国产精品高清视亚洲一区二区| 卡一卡二卡三在线入口免费| 无忧传媒视频免费观看入口| 亚洲一区二区三区在线视频| 精品在线免费观看| 久久亚洲精品人成综合网| 毛片免费观看的视频| 蜜桃传媒一区二区亚洲AV| 三上悠亚亚洲一区高清| 美女被cao网站免费看在线看| 亚洲国产精品自在线一区二区| **真实毛片免费观看| 亚洲av无码专区首页| 日韩va亚洲va欧洲va国产| 国产高清免费视频| 色吊丝免费观看网站| 久久亚洲国产精品| 韩国欧洲一级毛片免费 | mm1313亚洲国产精品无码试看| 亚洲国产午夜中文字幕精品黄网站| 免费精品久久天干天干| 亚洲色偷偷综合亚洲av78| 亚洲精品视频免费| 222www在线观看免费| 另类图片亚洲校园小说区| 久久久久亚洲AV无码永不|