聚合和組合的區別

2021-06-19 21:23:51 字數 436 閱讀 5605

(1)聚合:指的是整體與部分的關係。通常在定義乙個整體類後,再去分析這個整體類的組成結構。從而找出一些組成類,該整體類和組成類之間就形成了聚合關係。例如乙個航母編隊包括海空母艦、驅護艦艇、艦載飛機及核動力攻擊潛艇等。需求描述中「包含」、「組成」、「分為…部分」等詞常意味著聚合關係。

(2)組合:也表示類之間整體和部分的關係,但是組合關係中部分和整體具有統一的生存期。一旦整體物件不存在,部分物件也將不存在。部分物件與整體物件之間具有共生死的關係。

聚合和組合的區別在於:聚合關係是

「has-a」

關係,組合關係是

「contains-a」

關係;聚合關係表示整體與部分的關係比較弱,而組合比較強;聚合關係中代表部分事物的物件與代表聚合事物的物件的生存期無關,一旦刪除了聚合物件不一定就刪除了代表部分事物的物件。組合中一旦刪除了組合物件,同時也就刪除了代表部分事物的物件。

UML中聚合和組合的區別

聚合 聚合其實是關聯的乙個特例,表示了兩個物件之間 part of 部分 整體 的關係,是一種弱關聯,部分的生命週期可以超越整體。在uml中,用整體端有空心菱形箭頭的雙向關聯修飾聚合。聚合的示例如下圖 組合 組合其實是一種強形式的聚合,它具有強的擁有關係,整體與部分的生命週期是一致的。部分 生存在整...

UML中聚合和組合的區別

一直以來,對uml的東西總是模稜兩可,對於類圖中的聚合和組合,知道兩種的區別,但過一段時間後總是分不清兩者誰是誰,唉,主要怪自己的語文沒有學好,呵呵!其實,對於聚合和組合,如果換成英文,就很好理解了 聚合就是 has a 組合就是 contains a 聚合是空心的菱形 組合是實心的菱形 這個比較好...

組合,關聯,聚合的區別

類間關係 在類圖中,除了需要描述單獨的類的名稱 屬性和操作外,我們還需要描述類之間的聯絡,因為沒有類是單獨存在的,它們通常需要 和別的類協作,創造比單獨工作更大的語義。在uml類圖中,關係用類框之間的連線來表示,連線上和連線端頭處的不同修飾符表示不同的關係。類之間的關係有 繼承 泛化 關聯 聚合和組...