在UML中,类使用包含类名、属性和操作且带有分隔线的长方形来表示,如定义一个Employee类,它包含属性name、age和email,以及操作modifyInfo(),在UML类图中该类如图1所示:
图1 类的UML图示
图1对应的Java代码片段如下:
public class Employee { private String name; private int age; private String email; public void modifyInfo() { ...... } }
在UML类图中,类一般由三部分组成:
(1) 第一部分是类名:每个类都必须有一个名字,类名是一个字符串。
(2) 第二部分是类的属性(Attributes):属性是指类的性质,即类的成员变量。一个类可以有任意多个属性,也可以没有属性。
UML规定属性的表示方式为:
可见性 名称:类型 [ = 缺省值 ] |
其中:
- “可见性”表示该属性对于类外的元素而言是否可见,包括公有(public)、私有(private)和受保护(protected)三种,在类图中分别用符号+、-和#表示。
- “名称”表示属性名,用一个字符串表示。
- “类型”表示属性的数据类型,可以是基本数据类型,也可以是用户自定义类型。
- “缺省值”是一个可选项,即属性的初始值。
(3) 第三部分是类的操作(Operations):操作是类的任意一个实例对象都可以使用的行为,是类的成员方法。
UML规定操作的表示方式为:
可见性 名称(参数列表) [ : 返回类型] |
其中:
- “可见性”的定义与属性的可见性定义相同。
- “名称”即方法名,用一个字符串表示。
- “参数列表”表示方法的参数,其语法与属性的定义相似,参数个数是任意的,多个参数之间用逗号“,”隔开。
- “返回类型”是一个可选项,表示方法的返回值类型,依赖于具体的编程语言,可以是基本数据类型,也可以是用户自定义类型,还可以是空类型(void),如果是构造方法,则无返回类型。
在类图2中,操作method1的可见性为public(+),带入了一个Object类型的参数par,返回值为空(void);操作method2的可见性为protected(#),无参数,返回值为String类型;操作method3的可见性为private(-),包含两个参数,其中一个参数为int类型,另一个为int[]类型,返回值为int类型。
图2 类图操作说明示意图
由于在Java语言中允许出现内部类,因此可能会出现包含四个部分的类图,如图3所示:
图3 包含内部类的类图
【作者:刘伟 http://blog.csdn.net/lovelion】