在UML中,類使用包含類名、屬性和操作且帶有分隔線的長方形來表示,如定義一個Employee類,它包含屬性name、age和email,以及操作modifyInfo()
1 public class Employee { 2 private String name; 3 private int age; 4 private String email; 5 6 public void modifyInfo() { 7 ...... 8 } 9 }
在UML類圖中,類一般由三部分組成:
(1) 第一部分是類名:每個類都必須有一個名字,類名是一個字符串。
(2) 第二部分是類的屬性(Attributes):屬性是指類的性質,即類的成員變量。一個類可以有任意多個屬性,也可以沒有屬性
UML規定屬性的表示方式為:
可見性 名稱:類型 [ = 缺省值 ]
其中:
- “可見性”表示該屬性對於類外的元素而言是否可見,包括公有(public)、私有(private)和保護(protected)三種,在類圖中分別用符號 +、- 和 # 表示。
- “名稱”表示屬性名,用一個字符串表示。
- “類型”表示屬性的數據類型,可以是基本數據類型,也可以是用戶自定義類型。
- “缺省值”是一個可選項,即屬性的初始值。
(3) 第三部分是類的操作(Operations):操作是類的任意一個實例對象都可以使用的行為,是類的成員方法。
UML規定操作的表示方式為:
可見性 名稱(參數列表) [ : 返回類型]
其中:
- “可見性”的定義與屬性的可見性定義相同。
- “名稱”即方法名,用一個字符串表示。
- “參數列表”表示方法的參數,其語法與屬性的定義相似,參數個數是任意的,多個參數之間用逗號“,”隔開。
- “返回類型”是一個可選項,表示方法的返回值類型,依賴於具體的編程語言,可以是基本數據類型,也可以是用戶自定義類型,還可以是空類型(void),如果是構造方法,則無返回類型。
在下圖中,操作method1的可見性為public(+),帶入了一個Object類型的參數par,返回值為空(void);操作method2的可見性為protected(#),無參數,返回值為String類型;操作method3的可見性為private(-),包含兩個參數,其中一個參數為int類型,另一個為int[]類型,返回值為int類型。
由於在Java語言中允許出現內部類,因此可能會出現包含四個部分的類圖。