標籤:
在學習UML過程中,你經常會遇到UML類圖關係,這裡就向大家介紹一下UML箭頭、線條代表的意義,相信通過本文的介紹你對UML中箭頭、線條的意義有更明確的認識。
AD:
本節向大家學習一下UML箭頭、線條代表的意義,UML中關係主要有依賴,彙總,合成,泛化和實現等,下面就讓我們來看一下這些關係如何用UML箭頭和線條來實現。
UML箭頭、線條程式
關係
後面的例子將針對某個具體目的來獨立地展示各種關係。雖然文法無誤,但這些例子可進一步精鍊,在它們的有效範圍內包括更多的語義。
依賴(Dependency)
實體之間一個“使用”關係暗示一個實體的規範發生變化後,可能影響依賴於它的其他執行個體(圖D)。更具體地說,它可轉換為對不在執行個體範圍內的一個類或對象的任何類型的引用。其中包括一個局部變數,對通過方法調用而獲得的一個對象的引用(如下例所示),或者對一個類的靜態方法的引用(同時不存在那個類的一個執行個體)。也可利用“依賴”來表示包和包之間的關係。由於包中含有類,所以你可根據那些包中的各個類之間的關係,表示出包和包的關係。
圖D
MB+a?u關聯(Association)
實體之間的一個結構化關係表明對象是相互串連的。UML箭頭是可選的,它用於指定導航能力。如果沒有箭頭,暗示是一種雙向的導航能力。在Java中,關聯(圖E)轉換為一個執行個體範圍的變數,就像圖E的“Java”地區所展示的代碼那樣。可為一個關聯附加其他修飾符。多重性(Multiplicity)修飾符暗示著執行個體之間的關係。在示範代碼中,Employee可以有0個或更多的TimeCard對象。但是,每個TimeCard只從屬於單獨一個Employee。
圖E
彙總(Aggregation)
彙總(圖F)是關聯的一種形式,UML箭頭代表兩個類之間的整體/局部關係。彙總暗示著整體在概念上處於比局部更高的一個層級,而關聯暗示兩個類在概念上位於相同的層級。彙總也轉換成Java中的一個執行個體範圍變數。7MIrrhk
yC7lR#N8j0
關聯和彙總的區別純粹是概念上的,而且嚴格反映在語義上。彙總還暗示著執行個體圖中不存在迴路。換言之,只能是一種單向關係。
圖F
合成(Composition)
合成(圖G)是彙總的一種特殊形式,UML箭頭暗示“局部”在“整體”內部的生存期職責。合成也是非共用的。所以,雖然局部不一定要隨整體的銷毀而被銷毀,但整體要麼負責保持局部的存活狀態,要麼負責將其銷毀。局部不可與其他整體共用。但是,整體可將所有權轉交給另一個對象,後者隨即將承擔生存期職責。
Employee和TimeCard的關係或許更適合表示成“合成”,而不是表示成“關聯”。
圖G
泛化(Generalization)
泛化(圖H)表示一個更泛化的元素和一個更具體的元素之間的關係。泛化是用於對繼承進行建模的UML元素。在Java中,用extends關鍵字來直接表示這種關係。
圖H
實現(Realization)
執行個體(圖I)關係UML箭頭指定兩個實體之間的一個合約。換言之,一個實體定義一個合約,而另一個實體保證履行該合約。對Java應用程式進行建模時,實現關係可直接用implements關鍵字來表示。
圖I
解析UML箭頭、線條代表的意義(轉)