UML類圖關系大全
本節(jié)和大家一起來學習一下UML類圖關系,UML類圖中共有五種關系,這里和大家分享一下,相信本節(jié)的學習一定會讓你有所收獲。下面讓我們一起來看一下UML類圖關系的具體介紹吧。
UML類圖關系
1.關聯(lián)
表示方法為一條帶箭頭的直線。
2.聚合/組合
當類之間有整體-部分關系的時候,我們就可以使用組合或者聚合。UML類圖關系中的組合表示方法為一條帶箭頭的直線+實心菱形,聚合表示方法為一條帶箭頭的直線+空心菱形。
聚合和組合都表示的是整體和部分的關系,但是在聚合中一個類可以離開另一個類而獨立存在,(獨立存在的意思是在某個應用的問題域中這個類的存在有意義。)。而組合卻正好相反。
同時,需要說明的是,這種獨立性并不是絕對的,需要看具體的語境和問題領域。例如在關心汽車的領域里,輪胎與汽車類是組合關系,因為它離開了汽車就沒有意義了。但是在賣輪胎的店鋪業(yè)務里,就算輪胎離開了汽車,它也是有意義的,這就可以用聚合了。
3.依賴
UML類圖關系中依賴是指一個類A可能要用到另一個類B的一些方法,即,要完成A類里面的所有功能,一定有類B中的方法協(xié)助才可以。一般來說,雙向的依賴是不允許的。表示方法帶箭頭的虛直線。
那依賴和聚合\組合、關聯(lián)等有什么不同呢?
關聯(lián)是類之間的一種關系,例如老師教學生,水壺裝水等就是一種關系。這種關系是非常明顯的,在問題領域中通過分析直接就能得出。
依賴是一種弱關聯(lián),只要一個類用到另一個類,但是和另一個類的關系不是太明顯的時候(可以說是“uses”了那個類),就可以把這種關系看成是依賴,依賴也可說是一種偶然的關系,而不是必然的關系,就是“我在某個方法中偶然用到了它,但在現(xiàn)實中我和它并沒多大關系”。例如我和錘子,我和錘子本來是沒關系的,但在有一次要釘釘子的時候,我用到了它,這就是一種依賴,依賴錘子完成釘釘子這件事情。
組合是一種整體-部分的關系,在問題域中這種關系很明顯,直接分析就可以得出的。例如輪胎是車的一部分,樹葉是樹的一部分,非常明顯的整體-部分關系。
4.泛化(繼承)
UML類圖關系中的泛化,這種類與類之間的關系很好理解,即存在泛化關系,表示方法為一條直線+空心三角形。
5.實現(xiàn)
這是類與接口之間的關系,很好理解。表示方法為虛直線+空心三角形。
【編輯推薦】