如何畫UML類圖


1.1 作用域

  • -表示private
  • +表示public
  • 表示protected

  • ~表示default,包權限
  • _下划線表示static,例如+getAge()
  • 斜體表示抽象

1.2 屬性表示

屬性名:數據類型
name:String
帶默認值
name:String='張三'

1.3 方法表示

方法名(方法參數):返回值的數據類型
getAge(name:String):Integer

2 類與類之間的關系

2.1 繼承(泛化)

介紹:
指類與類之間的基礎關系
表示方法:
用空三角形+實線表示,箭頭指向父類

2.2 實現

介紹:
指接口與類之間的實現關系
表示方法:
用空三角形+虛線表示,箭頭指向接口

2.3 依賴於關聯

2.3.1 依賴

介紹:
一個對象依賴於另一個對象才能完成它的工作
表示方法:
依賴關系用虛線箭頭表示。箭頭指向被依賴的一方。

2.3.2 關聯

2.3.2.1單向關聯

介紹:
關聯(Association)關系是類與類之間最常用的一種關系,它是一種結構化關系,用於表示一類對象與另一類對象之間有聯系,如汽車和輪胎、師傅和徒弟、班級和學生等等。在UML類圖中,用實線連接有關聯關系的對象所對應的類,在使用Java、C#和C++等編程語言實現關聯關系時,通常將一個類的對象作為另一個類的成員變量。
表示方法:
實現箭頭表示

2.3.2.2 雙向關聯

2.3.2.3 自關聯

2.3.3 依賴與關聯的區別

1.發生依賴關系的兩個類都不會增加屬性。其中的一個類作為另一個類的方法的參數或者返回值,或者是某個方法的變量而已。
2.發生關聯關系的兩個類,類A成為類B的屬性,而屬性是一種更為緊密的耦合,更為長久的持有關系。
從關系的生命周期來看,依賴關系是僅當類的方法被調用時而產生,伴隨着方法的結束而結束。關聯關系當類實例化的時候產生,當類對象銷毀的時候關系結束。相比依賴,關聯關系的生存期更長。

舉例說明:我用錘子修了一下桌子,我和錘子之間就是一種依賴,我和我的同事就是一種關聯。依賴是一種弱關聯,只要一個類用到另一個類,但是和另一個類的關系不是太明顯的時候(可以說是“uses”了那個類),就可以把這種關系看成是依賴,依賴也可說是一種偶然的關系,而不是必然的關系。關聯是類之間的一種關系,例如老師教學生,老公和老婆這種關系是非常明顯的。依賴是比較陌生,關聯是我們已經認識熟悉了。

2.4 聚合與組合(復合)

2.4.1 聚合

介紹:
聚合(Aggregation)關系表示整體與部分的關系。在聚合關系中,成員對象是整體對象的一部分,但是成員對象可以脫離整體對象獨立存在。
表示方法:
聚合關系用帶空心菱形的直線表示。

2.4.2 組合(復合)

介紹:
組合(Composition)關系也表示類之間整體和部分的關系,但是在組合關系中整體對象可以控制成員對象的生命周期,一旦整體對象不存在,成員對象也將不存在,成員對象與整體對象之間具有同生共死的關系。成員對象就是為整體對象服務的,沒有整體對象,成員對象就沒有意義。
表示方法:
實心菱形的直線

2.4.3 聚合與組合(復合)的區別

1.組合(復合)中的部分不能脫離了整體而存在,部分就是為整體服務的,如果沒有整體,那部分也沒有意義;
2.聚合匯總的部分是可以脫離整體而獨立存在的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM