Unified Model Language(UML),統一建模語言。類圖用於描述系統中所包含的類以及它們之間的相互關係,幫助人們簡化對系統的理解,它是系統分析和設計階段的重要產物,也是系統編碼和測試的重要模型依據。
類圖中類的表示方法
類圖分3層:
- 第一層表示類的名稱,如果是
抽象類
,則用斜線
表示; - 第二層是類的特性,通常表示字段或屬性;
- 第三層是類的操作,通常是方法或行爲。
第二層與第三層前面存在符號,“+”代表public,“-”代表private,“#”代表protected
類關係表示
類之間有三種基本關係:
-
關聯(包括聚合、組合)
-
泛化(與繼承同一個概念)
-
依賴
-
關聯(Association):一種擁有的關係,它使一個類知道另一個類的屬性和方法。UML中,關聯關係採用帶普通箭頭的實心線表示,指向被擁有者。雙向的關聯可以有兩個箭頭或者沒有箭頭,單向關聯有一個箭頭。
-
聚合(Aggregation):整體與部分的關係。成員對象是整體對象的一部分,但是成員對象可以脫離整體對象獨立存在。UML中,聚合關係採用帶空心菱形的實心線表示,菱形指向整體,箭頭指向部分。如:輪胎是汽車的組成部分,但是輪胎可以獨立存在,因此,汽車和輪胎是聚合關係。
-
組合(Composition):整體與部分的關係,但部分不能離開整體而單獨存在。UML中,組合關係用帶實心菱形的實心線表示,菱形指向整體,箭頭指向部分。如:頭與嘴巴就是組合關係。
-
依賴(Dependency):使用關係。與管線關係不同的是,它是一種臨時性的關係,通常在運行期間產生,並且隨着運行時的變化,依賴關係也可能發生變化。依賴也有方向,雙向依賴是一種非常糟糕的結構,應該杜絕產生。UML中,依賴關係用帶箭頭的虛線表示,箭頭指向被使用者,由依賴的一方指向被依賴的一方。
-
泛化(Generalization):也就是
繼承關係
。UML中,泛化關係用帶空心三角形的直線來表示,三角形指向父類。 -
實現(Realization):類與接口的關係。UML中,實現關係用帶空心三角形的虛線來表示,三角形指向接口。
說明
各種關係的強弱順序:泛化 = 實現 > 組合 > 聚合 > 關聯 > 依賴