UML類圖你是否熟悉,這裡就向大家介紹一下UML類圖中的四種關係,相信通過本文的介紹大家對UML類圖有更加深刻的認識,歡迎大家一起來學習UML類圖。
本節和大家一起看一下UML類圖中的關係,UML類圖中的關係分為四種:泛化、依賴、關聯、實現,希望通過本節的介紹大家對UML類圖關係有清晰的認識,下面就讓我們一起來看一下它的四種關係吧。
UML類圖中的關係
UML類圖中的關係分為四種:泛化、依賴、關聯、實現;關聯關係又可以細化為聚合和組合。
1.泛化(Generalization)
UML類圖中的泛化是父類和子類之間的關係,子類繼承父類的所有結構和行為。在子類中可以增加新的結構和行為,也可以覆寫父類的行為。
2.依賴(Dependency)
依賴關係是一種使用關係,特定事物的改變有可能會影響到使用該事物的事物,反之不成立。在你想顯示一個事物使用另一個事物時使用。
通常情況下,依賴關係體現在某個類的方法使用另一個類作為參數。
如果模塊A調用模塊B提供的方法,或訪問模塊B中的某些數據成員(當然,在面向對象開發中一般不提倡這樣做),我們就認為模塊A依賴於模塊B,模塊A和模塊B之間發生了耦合。
3.關聯(Dependency)
關聯是一種結構化的關係,指一種對象和另一種對象有聯繫。給定有關聯的兩個類,可以從一個類的對象得到另一個類的對象。UML類圖中關聯有兩元關係和多元關係。兩元關係是指一種一對一的關係,多元關係是一對多或多對一的關係。一般用實線連接有關聯的同一個類或不同的兩個類。當你想要表示結構化關係時使用關聯。
關聯關係是通過類的成員變量來實現的。
3.1聚合(Aggregation)
聚合是一種特殊的關聯。它描述了「hasa」關係,表示整體對象擁有部分對象。
關聯關係和聚合關係來語法上是沒辦法區分的,從語義上才能更好的區分兩者的區別。聚合是較強的關聯關係,強調的是整體與部分之間的關係。
與關聯關係一樣,聚合關係也是通過類的成員變量來實現的。
3.2組合(Composition)
組合是聚合的一種形式,它具有更強的擁有關係,強調整體與部分的生命周期是一致的。整體負責部分的生命周期的管理。如果整體被銷毀,部分也必須跟著一起被銷毀,如果所有者被複製,部分也必須一起被複製。
與關聯關係一樣,組合關係也是通過類的成員變量來實現的。
聚合和組合的區別在於:聚合關係是「has-a」關係,組合關係是「contains-a」關係;聚合關係表示整體與部分的關係比較弱,而組合比較強;聚合關係中代表部分事物的對象與代表聚合事物的對象的生存期無關,一旦刪除了聚合對象不一定就刪除了代表部分事物的對象。組合中一旦刪除了組合對象,同時也就刪除了代表部分事物的對象。
4.實現(Realization)
UML類圖中第四種關係就是實現,實現關係指定兩個實體之間的一個合約。換言之,一個實體定義一個合約,而另一個實體保證履行該合約。
類間關係有很多種,在大的類別上可以分為兩種:縱向關係、橫向關係。
縱向關係就是繼承關係,它的概念非常明確,也成為OO的三個重要特徵之一,這裡不過多的討論。
橫向關係較為微妙,按照UML的建議大體上可以分為四種:
依賴(Dependency)
關聯(Association)
聚合(Aggregation)
組合(Composition)
它們的強弱關係是沒有異議的:依賴<關聯<聚合<組合<泛化(繼承)
在UML系統開發中有三個主要的模型:
功能模型:從用戶的角度展示系統的功能,包括用例圖。
對象模型:採用對象,屬性,操作,關聯等概念展示系統的結構和基礎,包括UML類圖。
動態模型:展現系統的內部行為。包括序列圖,活動圖,狀態圖。
【編輯推薦】
【責任編輯:
程華權TEL:(010)68476606】