UML類關(guān)系中關(guān)聯(lián)和實現(xiàn)關(guān)系的區(qū)別
本文和大家重點討論一下UML類關(guān)系,類之間的關(guān)系最常見的有四種:依賴關(guān)系、泛化關(guān)系、關(guān)聯(lián)關(guān)系、實現(xiàn)關(guān)系。這里向大家簡單介紹一下UML類關(guān)系中的關(guān)聯(lián)關(guān)系和實現(xiàn)關(guān)系。
1、關(guān)聯(lián)關(guān)系(Association)
UML類關(guān)系中關(guān)聯(lián)關(guān)系是一種結(jié)構(gòu)關(guān)系,它指明一個事物的對象與另一個事物的對象之間的聯(lián)系。也就是說,關(guān)聯(lián)描述了系統(tǒng)中對象或?qū)嵗g的離散連接。在UML中,關(guān)聯(lián)關(guān)系用一條連接兩個類的實線表示
UML類關(guān)系中關(guān)聯(lián)關(guān)系有6種對應的修飾,它們分別是:名稱、角色、多重性、聚合、組合和導航性。
(1)、名稱(Name)。名稱用來描述關(guān)聯(lián)的性質(zhì),通常使用一個動詞或動詞短語來命名關(guān)聯(lián)。名稱以前綴或后綴一個指引閱讀的方向指示符以消除名稱含義上可能存在的歧義,方向指示符用一個實心的三角形箭頭表示。
(2)、角色(Role)。角色是關(guān)聯(lián)關(guān)系中一個類對另一個類所表現(xiàn)出來的職責。角色名稱是名詞或名詞短語,以解釋對象是如何參與關(guān)聯(lián)的。
(3)、多重性(Multiplicity)。約束是UML三大擴展機制之一,多重性是其中使用最廣泛的一種約束。關(guān)聯(lián)的多重性是指有多少對象可以參與該關(guān)聯(lián),多重性可以用來表達一個取值范圍、特定值、無限定的范圍或一組離散值。
(4)、聚合(Aggregation)。聚合關(guān)系表示整體和部分關(guān)系的關(guān)聯(lián)。聚合關(guān)系描述了“hasa”的關(guān)系。在UML中聚合關(guān)系用帶空心的實線來表示,其中頭部指向整體。
(5)、組合關(guān)系(Composition)。組合關(guān)系是聚合關(guān)系中的一種特殊情況,是更強形式的聚合,又被稱為強聚合。在組合中,成員對象的生命周期取決于聚合的生命周期,聚合不僅控制著成員對象的行為,而且控制著成員對象的創(chuàng)建和析構(gòu)。在UML中,組合關(guān)系用帶實心菱頭的實線來表示,其中頭部指向整體。
(6)、導航性(Nevigation)。導航性描述的是一個對象通過鏈(關(guān)聯(lián)的實例)進行導航訪問另一個對象,即對一個關(guān)聯(lián)端點設(shè)置導航屬性意味著本端的對象可以被另一端的對象訪問??梢栽陉P(guān)聯(lián)關(guān)系上加箭頭表示導航方向。只在一個方向上可以導航的關(guān)聯(lián)稱為單向關(guān)聯(lián)(UnidirectionAssociation),用一條帶箭頭的實線來表示。在兩個方向上都可以導航的關(guān)聯(lián)稱為雙向關(guān)聯(lián)(BidirectionAssociation),用一條沒有箭頭的實線來表示。另外使用導航性可以降低類之間的耦合度,在也是好的面向?qū)ο蠓治雠c設(shè)計的目標之一。
2、實現(xiàn)關(guān)系(Realization)
實現(xiàn)是規(guī)格說明和其實現(xiàn)之間的關(guān)系,它將一種模型元素與另一種模型元素連接起來,比如類和接口。
泛化和實現(xiàn)關(guān)系都可以將一般描述與具體描述聯(lián)系起來。泛化將同一語義層上的元素連接起來,并且通常在同一模型內(nèi)。實現(xiàn)關(guān)系則將不同語義層內(nèi)的元素連接起來,通常建立在不同的模型內(nèi)。
UML類關(guān)系中實現(xiàn)關(guān)系通常在兩種情況下被使用:在接口與實現(xiàn)該接口的類之間;在用例以及實現(xiàn)該用例的協(xié)作之間。
在UML中,實現(xiàn)關(guān)系的符號與泛化關(guān)系的符號類似,用一條帶指向接口的空心三角箭頭的虛線表示。下圖所示的是實現(xiàn)關(guān)系的一個示例,描述的是Keyboard保證自己的部分行為可以實現(xiàn)Typewriter的行為
UML類關(guān)系中實現(xiàn)關(guān)系還有一種省略的表示方法,即接口表示為一個小圓圈,并和實現(xiàn)接口的類用一條線段連接,如圖
【編輯推薦】
- 術(shù)語匯編 深入學習UML類關(guān)系圖
- 四大UML類關(guān)系圖揭秘
- 實例解析四大UML類關(guān)系圖
- UML部署圖組成元素和繪制方法解析
- 術(shù)語匯編 解析UML類圖建模