【設計模式】23種設計模式-00關於UML的各種箭頭
阿新 • • 發佈:2021-11-13
需要記住:
- method方法中帶-為private,+為public,#為protected
類與類之間的關係:
-
一般關聯關係:主要是物件之間的引用,從自己來說就是類裡的成員變數。如class A中有一個B的成員變數,那就是單項關聯,用實心三角黑箭頭。雙向關聯不用箭頭。即持有對方型別的成員變數,A持有B成員變數,那就是A用實心三角黑箭頭指向B。
-
聚合關係:也是關於成員變數,強關聯。從自己的理解來說就是成員變數是該類的一部分,部分與整體的關係,而且脫離整體物件也可以存在。比如班級類中的學生。用空心菱形表示,班級持有List
,Teacher空心菱形指向班級。
-
組合關係:表示類之間的整體與部分的關係,強烈的聚合關係。即部分物件不能脫離整體。頭和嘴,嘴不能脫離頭。在我看來就是必須兩者組合才是一個整體。用實心菱形表示,嘴指向頭。
-
依賴關係。是一種使用關係。耦合度較小。從我的角度來看就是用到了用到了某個類,即使用類指向被依賴類。感覺這個和之前的不一樣的地方在於這裡需要方法引數的形參對用到那個類的某個方法。是一種使用的關係,即一個類的實現需要另一個類的協助。java中,方法引數需要傳入另一個類的物件,就表示依賴這個類。用虛線的箭頭表示。
-
繼承關係:耦合度較大。也叫泛化關係。子類用空心三角指向父類。
-
實現關係。介面和實現類。空心三角箭頭的虛線。
總結:以前一直看不懂類的各種箭頭,現在專門總結下:父類和介面都是三角,繼承關係是實線,實現關係式虛線。都是實現類指向抽象類。而其他的關係都是針對成員變數,需要方法引數需要其他類的就是依賴關係用虛線普通箭頭。