[軟件構造] 09 UML類圖關係總結
UML統一建模語言是面向對象分析和設計中的一種很重要的描述工具,其中用的最多的就是UML類圖(class diagram),是後續學習設計模式的基礎。可是軟件構造課程的內容中並不包含這一部分的內容,但是後續的各種設計模式中頻繁出現,且在實驗、考試中也經常需要通過它來闡述設計思想,因而本文將對UML類圖的組成、關係等進行一個總結。(這一部分原本是在學習課件4-2面向重用的構造技術時進行總結的,但當時沒有總結完,所以鴿到了現在。)
本文配合軟件構造4-2面向重用的構造技術中的委託的四種類型這一節進行復習效果更佳。
UML類圖中的六種關係
在UML類圖中,有以下六種常見的關係:泛化(Generalization), 實現(Realization),關聯(Association),聚合(Aggregation),組合(Composition),依賴(Dependency)。
前兩種可以通過面嚮對象語言所具有的語言機制來實現,例如Java語言的關鍵字extends,implements的來提供子類(子接口)與父類(父接口)之間的繼承關係,類與接口之間的實現關係。
而後面的四種則又剛好對於委託(delegation)的四種類型。