UML類圖關係總結

在UML類圖中,常見的有如下幾種關係:泛化(Generalization),  實現(Realization),關聯(Association),聚合(Aggregation),組合(Composition),依賴(Dependency)spa

1.泛化(Generalization)

【泛化關係】:是一種繼承關係,它指定了子類如何特化父類的全部特徵和行爲例如:老虎是動物的一種.對象

【箭頭指向】:帶三角箭頭的實線,箭頭指向父類繼承

2.實現(Realization)

【實現關係】:是一種類與接口的關係,表示類是接口全部特徵和行爲的實現接口

【箭頭指向】:帶三角箭頭的虛線,箭頭指向接口生命週期

3.關聯(Association)

關聯關係】:是一種擁有的關係,它使一個類知道另外一個類的屬性和方法;如:老師與學生,丈夫與妻子ci

關聯能夠是雙向的,也能夠是單向的。雙向的關聯能夠有兩個箭頭或者沒有箭頭,單向的關聯有一個箭頭。it

【代碼體現】:成員變量io

【箭頭及指向】:帶普通箭頭的實心線,指向被擁有者變量

 

上圖中,老師與學生是雙向關聯,老師有多名學生,學生也可能有多名老師。但學生與某課程間的關係爲單向關聯,一名學生可能要上多門課程,課程是個抽象的東西他不擁有學生。sso

上圖爲自身關聯。

4. 聚合(Aggregation)

【聚合關係】:是總體與部分的關係.如車和輪胎是總體和部分的關係.

聚合關係是關聯關係的一種,是強的關聯關係;關聯和聚合在語法上沒法區分,必須考察具體的邏輯關係。

【代碼體現】:成員變量

【箭頭及指向】:帶空心菱形的實心線,菱形指向總體

5. 組合(Composition)

【組合關係】:是總體與部分的關係.,沒有公司就不存在部門      組合關係是關聯關係的一種,是比聚合關係還要強的關係,它要求普通的聚合關係中表明總體的對象負責表明部分的對象的生命週期

【代碼體現】:成員變量

【箭頭及指向】:帶實心菱形的實線,菱形指向總體

6. 依賴(Dependency)

【依賴關係】:是一種使用的關係,因此要儘可能不使用雙向的互相依賴。

【代碼表現】:局部變量、方法的參數或者對靜態方法的調用

【箭頭及指向】:帶箭頭的虛線,指向被使用者

 

 

各類關係的強弱順序:

泛化= 實現> 組合> 聚合> 關聯> 依賴

下面這張UML圖,比較形象地展現了各類類圖關係:

相關文章
相關標籤/搜索