解析三大UML類關系的區別
本文和大家重點討論一下幾種UML類關系的用法,關聯關系大家應該有所了解了,這里主要介紹一下依賴關系,泛化關系和實現關系三種的區別,希望本文的介紹對你的學習有所幫助。
UML類關系
類之間的關系最常見的有四種:依賴關系、泛化關系、關聯關系、實現關系。
1、依賴關系(Dependency)
UML類關系中依賴表示兩個或多個模型元素之間語義上的關系。它表示了這樣一種情形,對于一個元素(提供者)的某些改變可能會影響或提供消息給其他元素(客戶),即客戶以某種形式依賴于其他類元。根據這個定義,關聯、實現和泛化都是依賴關系,但是它們有更特別的語義。在UML中,依賴用一個從客戶指向提供者的虛箭頭表示,用一個構造型的關鍵字來區分它的種類。
UML定義了4種基本依賴類型,分別是使用(Usage)依賴、抽象(Abstraction)依賴、授權(Permission)依賴和綁定(Binding)依賴。
(1)、使用依賴。使用依賴都是非常直接的,通常表示客戶使用提供者提供的服務以實現它的行為。以下列出了5種使用依賴關系.
(2)、抽象依賴。抽象依賴用來表示客戶與提供者之間的關系,依賴于在不同抽象層次上的事物。
(3)、授權依賴。授權依賴表示一個事物訪問另一個事物的能力。提供者通過規定客戶的權限,可以控制和限制對其內容訪問的方法。
(4)、綁定依賴。綁定依賴是較高級的依賴類型,用于綁定模板以創建新的模型元素。
2、泛化關系(Generalization)
UML類關系中泛化關系是一種存在于一般元素和特殊元素之間的分類關系,它只使用在類型上,而不是實例上。在類中,一般元素被稱為超類或父類,而特殊元素被稱為子類。在UML中,泛化關系用一條從子類指向父類的空心三角箭頭表示
3、實現關系(Realization)
實現是規格說明和其實現之間的關系,它將一種模型元素與另一種模型元素連接起來,比如類和接口。
UML類關系中泛化和實現關系都可以將一般描述與具體描述聯系起來。泛化將同一語義層上的元素連接起來,并且通常在同一模型內。實現關系則將不同語義層內的元素連接起來,通常建立在不同的模型內。
實現關系通常在兩種情況下被使用:在接口與實現該接口的類之間;在用例以及實現該用例的協作之間。
在UML中,實現關系的符號與泛化關系的符號類似,用一條帶指向接口的空心三角箭頭的虛線表示。下圖所示的是實現關系的一個示例,描述的是Keyboard保證自己的部分行為可以實現Typewriter的行為
UML類關系中實現關系還有一種省略的表示方法,即接口表示為一個小圓圈,并和實現接口的類用一條線段連接。
【編輯推薦】