使用powerDesigner繪制類圖
- 因為后面要理清楚spring中類與類之間關系,我們來看看如何使用powerDesigner繪制類圖
- 你要去下載powerDesiger,一路下一步安裝好
- 打開,點【file】-【New Model】
- 選擇【Model types】-【Object-Oriented Model】-【Class Diagram】-【java】-【ok】
- 利用右側的toolbox構建
- 既然要畫類圖,類與類之間的關系你是要知道的:
- 泛化 generalization
- 實現 Realization
- 關聯 Association
- 聚合 Aggregation
- 組合 Composition
- 依賴 Dependency
泛化
子類繼承父類
實現
實現類繼承接口
關聯
是一種擁有的關系, 它使一個類知道另一個類的屬性和方法,這個概念聽起來感覺有點蒙,其實吧,就是一個對象A中持有對象B的引用,這樣對象B中的屬性和方法是不是A也知道了,就是這個意思,在實際的代碼中體現在一個類上聲明一個成員變量
類A中有類B的引用
類Person 中有 類 Address
聚合
是整體與部分的關系, 且部分可以離開整體而單獨存在,如車和輪胎是整體和部分的關系,輪胎離開車仍然可以存在
聚合關系是關聯關系的一種,是強的關聯關系;關聯和聚合在語法上無法區分,必須考察具體的邏輯關系
比如一個學校有高中部和初中部,這些學生加起來都是屬於這個學校的,那么從聚合的概念上講整體就是這個學校,部分就是學生了,且部分可以離開整體而單獨存在,這意思是說學生可以轉校去別的學校,但是這個學校還是存在的,不會因為一個學生轉校了找個學校就沒了,
箭頭指向:帶空心菱形的實心線,菱形指向整體
組合
是整體與部分的關系, 但部分不能離開整體而單獨存在. 如公司和部門是整體和部分的關系, 沒有公司就不存在部門
組合關系是關聯關系的一種,是比聚合關系還要強的關系,它要求普通的聚合關系中代表整體的對象負責代表部分的對象的生命周期
代碼體現:成員變量
箭頭指向:帶實心菱形的實線,菱形指向整體
比如一個大廈肯定是由很多種材料構成的,如果沒有這些材料,這大廈就不存在了,意思是這個大廈生命周期over了,
依賴
是一種使用的關系, 即一個類的實現需要另一個類的協助,所以要盡量不使用雙向的互相依賴
代碼表現:局部變量、方法的參數或者對靜態方法的調用
箭頭指向:帶箭頭的虛線,指向被使用者
各種關系的強弱順序:
泛化 >實現>組合> 聚合> 關聯> 依賴
最后把這些關系在java代碼中的體現總結下:
1) 依賴關系:關系對象出現在局部變量或者方法的參數里,或者關系類的靜態方法被調用
(2) 關聯關系:關系對象出現在實例變量中
(3) 聚合關系:關系對象出現在實例變量中
(4) 組合關系:關系對象出現在實例變量中
(5) 泛化關系: extends
(6) 實現: implements
具體使用請瀏覽這位台兄的 博客:https://www.cnblogs.com/ganqiyin/p/3156991.html