在UML的靜态機制中類圖是一個重點,它不但是設計人員關心的核心,更是實作人員關注的核心。模組化工具也主要根據類圖來産生代碼。類圖在UML的9個圖中占據了一個相當重要的地位。James Rumbaugh對類的定義是:類是具有相似結構、行為和關系的一組對象的描述符。類是面向對象系統中最重要的構造塊。類圖顯示了一組類、接口、協作以及他們之間的關系。在UML中問題域最終要被逐漸轉化,通過類來模組化,通過程式設計語言建構這些類進而實作系統。類加上他們之間的關系就構成了類圖,類圖中還可以包含接口、包等元素,也可以包括對象、鍊等執行個體。接口在類圖中通過版型來表示<<interface>>
類的UML表示
類的命名盡量應用領域中的術語,應明确、無岐義,以利于互相交流和了解。類的屬性、操作中的可見性使用+、#、-分别表示public、protected、private。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsISPrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdsATOfd3bkFGazxCMx8VesATMfhHLlN3XnxCMwEzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5iNiNGZ5UzNlJjY5QjY3gjM2kjYlNTNwEGNhBzN2ImYi9CX1EzLclDMxIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjL1M3Lc9CX6MHc0RHaiojIsJye.png)
2.1泛化
介紹:
泛化(Generalization)表示類與類之間的繼承關系,接口與接口之間的繼承關系,或類對接口的實作關系
(1)繼承
介紹:
繼承表示是一個類(稱為子類、子接口)繼承另外的一個類(稱為父類、父接口)的功能,并可以增加它自己的新功能的能力。
表示方法:
繼承使用空心三角形+實線表示。
示例:
鳥類繼承抽象類動物
繼承關系
(2)實作
實作表示一個class類實作interface接口(可以是多個)的功能。
表示方法:
1)矩形表示法
使用空心三角形+虛線表示
比如:大雁需要飛行,就要實作飛()接口
矩形表示法
2)棒棒糖表示法
使用實線表示
棒棒糖表示法
2.2依賴
對于兩個相對獨立的對象,當一個對象負責構造另一個對象的執行個體,或者依賴另一個對象的服務時,這兩個對象之間主要展現為依賴關系。
表示方法:
依賴關系用虛線箭頭表示。
示例:
動物依賴氧氣和水。調用新陳代謝方法需要氧氣類與水類的執行個體作為參數
依賴關系
2.3關聯
對于兩個相對獨立的對象,當一個對象的執行個體與另一個對象的一些特定執行個體存在固定的對應關系時,這兩個對象之間為關聯關系。
關聯關系用實線箭頭表示。
企鵝需要‘知道’氣候的變化,需要‘了解’氣候規律。當一個類‘知道’另一個類時,可以用關聯。
關聯關系
2.4聚合
表示一種弱的‘擁有’關系,即has-a的關系,展現的是A對象可以包含B對象,但B對象不是A對象的一部分。 兩個對象具有各自的生命周期。
聚合關系用空心的菱形+實線箭頭表示。
每一隻大雁都屬于一個大雁群,一個大雁群可以有多隻大雁。當大雁死去後大雁群并不會消失,兩個對象生命周期不同。
聚合關系
2.5組合
組合關系