UML類圖圖解

1. 類

格式如圖,頂格表示類名,中間隔表示屬性,底格表示方法。

image

方法和屬性的可見性

符號 可見性
+ public
- private
# protected
/ derived
~ package

2. 關係

2.1 Generalization(歸納)/Inheritance(繼承)

我不知道Generalization爲什麼要翻譯成泛化,個人覺得翻譯得太硬了,一般人還得進一步去查一下泛化又是啥意思。用一個生僻的名詞去解釋另一個單詞,我算是醉了。
image

2.2 Realization/Implementation(實現)

針對接口實現。
image

2.3 Association(關聯)

關聯關係使一個類知道另外一個類的屬性和方法。某個對象會長期的持有另一個對象的引用,關聯的兩個對象彼此間沒有任何強制性的約束,只要二者同意,可以隨時解除關係或是進行關聯,它們在生命期問題上沒有任何約定。被關聯的對象還可以再被別的對象關聯,所以關聯是可以共享的。 關聯有四種類型:單向型(uni-directional)、雙向型(bi-directional)、集合型(包括Composition和Aggregation)和自反型。
下圖中左邊爲單向關聯,右邊爲雙向關聯。通俗地解釋圖左的單向關聯就是,ClassA有成員變量ClassB,而ClassB裏沒有成員變量ClassA.一時找不到具體事例,就以ClassA和ClassB來代替了;右圖中表示一個消費者可有零到多個訂單,一個訂單對應一個消費者。構成型和集合型請看下文。
image

2.4 Dependency(依賴):

僅僅是使用關係,被依賴類出現在方法的形參、局部變量和返回值中。
image

2.5 Composition(構成)

有人翻譯成“組成”,個人覺得翻譯成“構成”更易理解。一個事物是另一個事物不可分割的一部分,例如發動機是車子的一部分。
image

2.6 Aggregation(集合)

有人翻譯成“聚合”,我這裏翻譯成“集合”。成分類可以不依賴集合類而單獨存在,可以具有各自的生命週期。
image

3. 多重性

關聯的修飾符

標識符 釋義
0 無實例
0..1 無實例或者只有1個實例
1 只有1個實例
1..1 只有1個實例
0..* 零個或多個實例
* 零個或多個實例
1..* 1個或多個實例
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章