類圖
用於描述系統中的類的組成和類之間的各種靜態關係。
類之間的關係:
依賴,泛化,實現,關聯,聚合和組合。
依賴
只要在A類中使用到了B類,則A類就是依賴於B類。不管是在成員變量,參數,方法返回值,還是方法局部中使用,以及繼承和實現。
泛化
是依賴關係的特例, 表示繼承關係。
實現
是依賴關係的特例, 表示實現關係。
關聯關係:
是依賴關係的特例, 可以表示類之間的數量關係,以及是單向還是雙向。即導航性和多重性。
數量上的表示:1
表示有且僅有一個成員變量,0...
表示0個或多個,0, 1
表示有0個或1個,n...m
表示n到m個都可以,m...*
表示至少m
個。
單向一對一:
雙向一對一:
其他關係
根據導航性和多重性可以得出單向一對一,雙向一對一,單向一對多,雙向多對多的情況。UML
圖類似上面即可。
聚合關係
是是關聯關係的特例, 同樣具有導航性(方向),多重性(數量)上的關係。
聚合關係表示被聚合對象是可以替換的(提供set方法)。比如一個電腦類聚合一個鍵盤類,鍵盤是可以更換 或 不設置,電腦依然還是電腦。
組合關係
是是關聯關係的特例, 同樣具有導航性(方向),多重性(數量)上的關係。
組合關係表示一種不可分離的關係。不提供set方法設置不可替換成員變量。且生命週期一致,是一種共生共滅的關係。
如果兩個類存在級聯刪除的效果, 則其關係也爲組合關係,比如對Person
進行刪除的同時,其IDCard
也會一起刪除,其表現爲同生共死的關係。