【菜鳥也瘋狂UML系列】——淺析UML四種關係
阿新 • • 發佈:2019-02-10
在UML中,關係是非常重要的,它抽象出物件之間的聯絡,讓物件構成某個聯絡起來的結構。下面將簡要分析一下UML中的四種關係:關聯,依賴,泛化,實現。
一、舉例羅列
1、關聯(Association)
關聯是用來連線有結構關係的物件,可以連線相同類或者不同類,也可以是雙向關聯和單向關聯。
舉例說明: 單向關聯:人開啟電視機,是一個單向關聯。 雙向關聯:人和公司的關係,人是公司的僱員,公司是人的僱主。(1個公司有0或者n個僱員)(1)聚合(Aggregate)
表示的是實體物件之間的關係,表達整體與部分的關係,整體由部分構成,但是此關係不是強依賴關係,也就是說,部分不會根據整體的消失而消失。聚合
(2)組合(Composition)
表示實體物件關係,表達整體與部分的關係,整體擁有部分,是強依賴的聚合關係,部分會隨著整體的消失而消失。組合關係用一條實心菱形箭頭直線表示,箭頭指向組合的母物件,也就是整體,表示部分屬於整體。
書和頁是一個組合關係,當實體頁脫離了書,便不存在了,隨著書一起消失了。2、依賴(Dependency)
表示一個物件在執行期會使用另一個物件的關係,是在執行期產生的,並伴隨著執行場景的不同,依賴關係也不同。依賴關係用一條帶箭頭的虛線表示,4、實現(Realize)
表示類對介面的實現用帶空心箭頭的虛線表示,箭頭指向介面。二、比較分析
1、聚合VS組合
兩者都是表示整體與部分的關係,但是不同的是,組合是強依賴聚合關係,部分脫離整體便不再存在。而聚合關係,部分脫離整體還可以繼續存在。
2、關聯VS依賴
剛開始分不清關聯和依賴,後來看了視訊裡講的是依賴可以作為使用關係,在不同場景下的使用關係,沒有場景就沒有關係;而關聯不同,關聯表示的是兩個物件之間的關係,不會消失的。