目錄
UML類圖
UML概述
UML(統一建模語言)是一種主要由圖形符號表達的建模語言,結構主要包括以下4個部分:
- 視圖:UML視圖用於從不同的角度來表示待建模系統.UML視圖包括用戶視圖,結構視圖,行爲視圖,實現視圖和環境視圖.
- 圖:UML圖是描述UML視圖內容的圖形,包括:用例圖.類圖.對象圖.包圖.組合結構圖.狀態圖.活動圖.順序圖.通信圖.定時圖.交互概覽圖.組件圖.部署圖.
- 模型元素:模型元素是指UML圖中所使用的一些概念,它們對應於普通的面向對象概念.
- 通用機制:UML提供的通用機制爲模型元素提供額外的註釋,語義和其他信息.
類與類的UML表示
類
類封裝了數據和行爲.在系統中每個類都具有一定的職責.在定義類的時候將類的職責分解爲類的屬性和操作(方法).類的屬性即類的數據職責,類的操作即類的行爲職責.
類圖使用出現在系統中的不同類來描述系統的靜態結構,它用來描述不同的類以及它們之間的關係.
類的UML表示
在UML類圖中,類一般由3部分組成.
- 類名:每個類都必須有名稱,使用帕斯卡命名法.
- 類的屬性:[可見性] 名稱:類型 [ = 默認值 ] 可見性:+表示公有, -表示私有, #表示保護, *或~表示包(default),斜體表示抽象,_表示static,名稱使用駝峯命名法.
- 類的操作:[可見性] 名稱( [ 參數列表 ] ) [ : 返回類型 ] 可見性同上,名稱使用駝峯命名法.參數列表多個參數用逗號隔開.構造方法無返回類型.
示例:
類之間的關係
類與類之間存在各種關係,對於不同類型的關係,UML提供了不同的表示方式:
- 關聯關係
關聯關係是一種結構化關係.
關聯關係用於表示一類對象與另一類對象之間有聯繫,在UML中,關聯關係的幾種形式:
- 雙向關聯,表示關係是雙向的,使用實線表示.
- 單向關聯,表示關係是單向的,使用帶箭頭的實線表示.
- 自關聯,使用帶箭頭的實線指向自身來表示.
- 多重性關聯,又稱重數性關聯關係,表示兩個關聯對象在數量上的對應關係,在關聯直線上使用一個數字或一個數字範圍表示.
- 聚合關係,表示整體與部分的關係,成員對象是整體對象的一部分,成員對象可以脫離整體對象獨立存在,是Has-A/Contains-A關係,用帶空心菱形的直線表示.
- 組合關係,表示整體與部分的關係,整體對象可以控制成員對象的生命週期,一旦整體對象不存在,成員對象也將不存在.是Has-A關係.用帶實心菱形的直線表示.
多重性表示方式表:
表示方式 | 多重性說明 |
---|---|
1..1 | 表示另一個類的一個對象只與該類的一個對象有關係. |
0..* | 表示另一個類的一個對象與該類的零個或多個對象有關係. |
1..* | 表示另一個類的一個對象與該類的一個或多個對象有關係. |
0..1 | 表示另一個類的一個對象沒有或只與該類的一個對象有關係. |
m..n | 表示另一個類的一個對象與該類最少m,最多n個對象有關係(m<=n). |
- 依賴關係
依賴關係是一種使用關係,特定事物的改變有可能會影響到使用該事物的其他事物,在需要表示一個事物使用另一個事物時使用依賴關係.在UML中,依賴關係使用帶箭頭的虛線表示,由依賴的一方指向被依賴的一方.
依賴關係通過3種方式實現
- 將一個類的對象作爲另一個類中方法的參數.
- 在一個類的方法中將另一個類的對象作爲其局部變量.
- 在一個類的方法中調用另一個類的靜態方法.
- 泛化關係
泛化關係也就是繼承關係,Is-A關係,用於描述父類與子類之間的關係,在UML中,泛化關係用帶空心三角形的直線來表示.
- 實現關係
接口之間也可以有與類之間關係類似的繼承關係和依賴關係,但是接口和類之間還有一種實現關係.在UML中,類與接口之間的實現關係用帶空心三角形的虛線來表示.