UML類圖--類之間的關係

weixin_34107955發表於2018-09-13

類的表示

12445647-3f0ed13a652f0fa8.png

類圖分為三層

  • 第一層是類的名稱,如果是抽象類或介面,就用斜體表示,其中介面名稱的上部會用<<interface>>修飾;
  • 第二層是類的成員變數,通常是欄位和屬性;
  • 第三層是類的成員方法。類的成員變數和成員方法的修飾符分為+、#、-,分別表示public、protected、private。
  • 類之間的關係有泛化(Generalize),實現(Realize),關聯(Associate),聚合(Aggregate),組合(Compose),依賴(Dependency)。

1.泛化(Generalize)

12445647-f13920123c2c39cf.png
  • 關係:泛化是一種繼承關係,用來表示類與類、類與抽象類、抽象類與抽象類、介面與介面之間的關係。
  • 箭線:用空心三角形+實線表示,箭頭指向父類。

2.實現(Realize)

12445647-3a9433fa5a96a6b3.png
  • 關係:實現用來表示類與介面、抽象類與介面之間的關係。
  • 箭線:用空心三角形+虛線表示,箭頭指向介面。

3.關聯(Associate)

12445647-3a6ce5df693dc846.png
  • 關係:關聯可以是雙向的,也可以是單向的;關聯關係可以進一步劃分為聚合及組合關係。
  • 箭線:用實線箭頭表示,雙向的關聯可以有兩個箭頭或者沒有箭頭,單向的關聯有一個箭頭。
  • 比如,荷花受季節影響,箭頭指向季節。

4.聚合(Aggregate)

12445647-5bd9782d635265b3.png
  • 關係:聚合用來表示整體與部分的關係,是一種弱的關聯關係,體現為A可以包含B,但B不一定是A的一部分。
  • 箭線:用空心的菱形+實線箭頭表示,菱形指向整體。

5.組合(Compose)

12445647-fff4341b6c83c437.png
  • 關係:組合用來表示整體與部分的關係,是一種強的關聯關係,體現了嚴格的整體和部分的關係,整體和部分的生命週期一樣。
  • 箭線:用實心的菱形+實線箭頭表示,菱形指向整體。

6.依賴(Dependency)

12445647-ca73c66bab036c04.png
  • 關係:依賴用來表示兩者之間的依從關係。
  • 箭線:用虛線箭頭表示,箭頭指向被依賴的物件。
  • 比如,陸生植物依賴土壤,而水生植物依賴水,當然了,陸生植物也依賴水,這裡只是為了更直觀地體現陸生和水生的本質區別。

完整的類圖


12445647-bef4aebcaaaf5fcf.png

參考文獻

UML類圖

相關文章