UML分類
1.結(jié)構(gòu)型的圖(Structure Diagram)
類圖(Class Diagram)
對象圖(Object Diagram)
構(gòu)件圖(Component Diagram)
部署圖(Deployment Diagram)
包圖(Package Diagram)
2.行為型的圖(Behavior Diagram)
活動圖(Activity Diagram)
狀態(tài)機(jī)圖(State Machine Diagram)
順序圖(Sequence Diagram)
通信圖(Communication Diagram)
用例圖(Use Case Diagram)
時序圖(Timing Diagram)
UML圖詳細(xì)介紹
-
類圖(Class Diagram)
-
基本介紹
用來描述類之間關(guān)系的圖
image.png
在UML類圖中殿衰,類使用包含類名、屬性(field) 和方法(操作) 且?guī)в蟹指罹€的矩形來表示垒玲,比如上圖表示一個Student類馋缅,它包含name,age和address這3個屬性贿肩,以及getInfo()方法禀崖。 寫法說明
屬性的完整表示方式: 可見性 名稱 :類型 [ = 缺省值]
方法的完整表示方式: 可見性 名稱(參數(shù)列表) [ : 返回類型]
注:【中括號中的內(nèi)容是可選的】
可見性的符號有三種:
(+) :表示public
(-):表示private
(#):表示protected(friendly也歸入這類)
因此兴革,上圖中的Student類具有3個私有屬性和一個公有方法箍铭。-
類圖之間的關(guān)系
常見的有以下幾種關(guān)系: 泛化(Generalization)/繼承, 實現(xiàn)(Realization)泊柬,關(guān)聯(lián)(Association),聚合(Aggregation)诈火,組合(Composition)兽赁,依賴(Dependency)。
各種關(guān)系的強(qiáng)弱順序: 泛化 = 實現(xiàn) > 組合 > 聚合 > 關(guān)聯(lián) > 依賴-
泛化(繼承)
【對應(yīng)的是extend關(guān)鍵字】冷守,在UML類圖中用帶空心三角形的直線表示
image.png -
實現(xiàn)
【對應(yīng)implement關(guān)鍵字】刀崖,在UML類圖中用帶空心三角形的虛線表示
image.png -
組合
【代碼對應(yīng)成員變量】是整體與部分的關(guān)系,但部分不能離開整體而單獨存在教沾。如公司和部門是整體和部分的關(guān)系蒲跨,沒有公司就不存在部門。
組合關(guān)系是關(guān)聯(lián)關(guān)系的一種授翻,是比聚合關(guān)系還要強(qiáng)的關(guān)系或悲,它要求普通的聚合關(guān)系中代表整體的對象負(fù)責(zé)代表部分的對象的生命周期
image.png -
聚合
【代碼對應(yīng)成員變量】是整體與部分的關(guān)系,且部分可以離開整體而單獨存在堪唐。如車和輪胎是整體和部分的關(guān)系巡语,輪胎離開車仍然可以存在。
聚合關(guān)系是關(guān)聯(lián)關(guān)系的一種淮菠,是強(qiáng)的關(guān)聯(lián)關(guān)系男公;關(guān)聯(lián)和聚合在語法上無法區(qū)分,必須考察具體的邏輯關(guān)系合陵。
image.png -
關(guān)聯(lián)
【代碼對應(yīng)成員變量】是一種擁有的關(guān)系枢赔,它使一個類知道另一個類的屬性和方法澄阳;如:老師與學(xué)生,丈夫與妻子關(guān)聯(lián)可以是雙向的踏拜,也可以是單向的碎赢。雙向的關(guān)聯(lián)可以有兩個箭頭或者沒有箭頭,單向的關(guān)聯(lián)有一個箭頭
image.png -
依賴
【局部變量速梗、方法的參數(shù)或者對靜態(tài)方法的調(diào)用】是一種使用的關(guān)系肮塞,即一個類的實現(xiàn)需要另一個類的協(xié)助,所以要盡量不使用雙向的互相依賴姻锁。
image.png
-
-
參考
https://www.cnblogs.com/jiangds/p/6596595.html
https://www.cnblogs.com/shindo/p/5579191.html
https://blog.csdn.net/andy_93/article/details/77484430