隨筆-62  評論-29  文章-0  trackbacks-0
          UML
           組合和聚合

          class A {...}
           class B { A* a; .....}

          即類B包含類A的指針;

           而組合可表示為: 表示實實在在的擁有

          class A{...}
           class B{ A a; ...}

          即類B包含類A的對象。

          準確的UML類圖中用空心和實心菱形對聚合和組合進行了區分。

           

          聚合和組合的區別在于:聚合關系是“has-a”關系,組合關系是“contains-a”關系;聚合關系表示整體與部分的關系比較弱,而組合比較強;聚合關系中代表部分事物的對象與代表聚合事物的對象的生存期無關,一旦刪除了聚合對象不一定就刪除了代表部分事物的對象。組合中一旦刪除了組合對象,同時也就刪除了代表部分事物的對象。

          posted on 2008-12-01 21:59 閱讀(167) 評論(0)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 长海县| 徐闻县| 铅山县| 乐亭县| 通辽市| 隆德县| 堆龙德庆县| 元氏县| 淮滨县| 济南市| 漠河县| 垫江县| 哈密市| 竹溪县| 泸西县| 桃园县| 富裕县| 白山市| 滁州市| 古丈县| 剑阁县| 施甸县| 新津县| 清远市| 昌都县| 富平县| 慈利县| 连城县| 乌拉特后旗| 图片| 绥德县| 成都市| 沛县| 囊谦县| 冷水江市| 阿拉善盟| 措美县| 陈巴尔虎旗| 郓城县| 天气| 江源县|