最近發現同事在設計類接口的時候喜歡用UML圖,以前對這方面了解一點,只是沒有怎么使用過。
了解一下UML的基本原理,感覺還是挺有意思的。里面提到的幾個關系,還是需要記錄一下,分辨清楚
繼承與實現
- 泛化(generalization):表示is-a的關系,其實就是繼承關系。三角箭頭加實線表示。三角指向父類。
- 實現(Realization): 專門指接口的實現。三角箭頭加虛線表示。三角指向接口。
關聯與依賴
關聯(Association) : 引用關系,可簡單理解為類的屬性。在類圖使用帶箭頭的實線表示,箭頭指向被引用的類(屬性)。一般是單向。如果是雙向,要考慮循環引用問題,這樣的屬性要考慮用weak弱引用。
依賴:簡單說就是方法的調用關系。在類圖使用帶箭頭的虛線表示,箭頭指向被調用的類。
聚合與組合
聚合(Aggregation) : 表示has-a的關系,群體和個體的關系。個體可單獨存在。在類圖使用空心的菱形表示,菱形指向群體。
組合(Composition) : 表示contains-a的關系,整體和部分的關系。部分不能脫離整體存在。在類圖使用實心的菱形表示,菱形指向整體。
下面是類圖的一些基本組件:
UML類圖.jpg