UML類圖符號及其關係
阿新 • • 發佈:2018-12-25
最近在看設計模式,發現每個模式都有自己的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 組合
組合是聚合的一種形式,它具有更強的擁有關係,強調整體與部分的生命週期 是一致的。
聚合與組合的區別:
一個雁群中,每個大雁與雁群的關係是聚合,每隻大雁都有一對翅膀,大雁與翅膀的關係就是組合。大雁不會因為它們的群主將雁群解散而無法生存 而雁翅就無法脫離大雁而單獨生存——組合關係的類具有相同的生命週期