1. 程式人生 > >UML類圖符號及其關係

UML類圖符號及其關係

最近在看設計模式,發現每個模式都有自己的UML類圖,之前沒了解過。

UML 類圖中的關係分為4種,繼承,實現,依賴,關聯;

1,繼承

實線+空心箭頭,箭頭指向父類

泛化是父類和子類之間的關係。表示類與類之間的繼承關係,介面之間的繼承關係,或者對介面的實現關係。
這裡寫圖片描述

注意:

1. 類圖分為3部分,類名,屬性,方法
2. <<..>>中的為註釋資訊
3. 修飾符 + 代表public,- 代表 private,#代表protected,什麼也沒有表示包可見
4. 帶下劃線的屬性或方法是靜態的

2,實現

指的是一個class類實現interface介面的功能。
這裡寫圖片描述

3,依賴

依賴是一種使用關係,用於兩個獨立的物件。
這裡寫圖片描述

在Java中,類A 中使用了類B,其中類 B 是作為A 的方法引數,方法中的區域性變數,或者靜態方法呼叫

4,關聯

體現兩個類之間語義級別的強依賴關係。

表現為類A 中使用了類B,其中類B 是做為類 A 的成員變數(與上面依賴關係對比)
這裡寫圖片描述
在UML圖中可以很明顯的看出依賴和關聯的關係。關聯中使用的類是出現在第二層的。

public class Son{  
   //關聯關係中作為成員變數的類一般會在類中賦值  
    Father father = new Father();  
    public
void getGift(){ System.out.println(“從”+father.getName()+”獲得禮物”); } }

又包括兩種特殊的:

4.1 聚合

是關聯關係的一種特例,是整體與部分的關係。關聯關係中的物件時相互獨立的,聚合關係物件之間存在包容關係

這裡寫圖片描述

4.2 組合

組合是聚合的一種形式,它具有更強的擁有關係,強調整體與部分的生命週期 是一致的。
這裡寫圖片描述

聚合與組合的區別:
一個雁群中,每個大雁與雁群的關係是聚合,每隻大雁都有一對翅膀,大雁與翅膀的關係就是組合。大雁不會因為它們的群主將雁群解散而無法生存 而雁翅就無法脫離大雁而單獨生存——組合關係的類具有相同的生命週期