UML类图用于表现类的特征。
类图描述了多个类、接口的特征,以及对象之间的协作和交互。类图用一个或者多个矩形区域构成,每个类图的内容包括:
● 类型,即类名;
● 属性,这个在类图中是可选的;
● 方法,这个在类图中是可选的。
可以发现,对于类图而言,只有类名是不可省略的,属性和方法均可根据需要进行省略。
使用StarUML画UML类图,其步骤如下。
(1)启动StarUML。
(2)建立一个空的Class Diagram,具体过程如下所示。
可以看到“Toolbox”中有“Class”和“Interface”等供用户选择使用。
(3)绘制UML类图。选中“Toolbox”中的“Class”,然后在“HelloClassDiagram”上单击,即可创建一个初始化的Class对象,如下图所示。
此时,用鼠标右键单击已经建好“Person”类图,在弹出的菜单中选择“Add”,然后在下一级菜单中选择“Attribute”,修改属性名“Attribute1”为“age”。可以修改属性的权限,具体方法为:双击“age”属性,单击“age”左侧出现的权限图标。
可以看到属性的权限有四种:Public、Protected、Private、Package。
一般而言,把属性设置为“私有”(Private)即已达到保护数据的目的,此处把属性设置为“私有”,则“Person”中变为“-age”。
类的属性是私有类型的,下面为“age”添加为int类型,直接双击“age”属性,在其后依次加上冒号和类型名称即可。
按照同样的方式为类图增加一个名为“address”的属性。
按照同样的方式,增加一个名称为“id”和“name”的属性
下面为类增加方法。
单击类图,在弹出的菜单中选择“Add”,然后在下一级子菜单中选择“Operation”,如下图所示。
修改类名为“change”。此时,为“change”方法增加参数,双击“change”方法名并直接书写参数即可,如下图所示。
用户还需要对方法增加返回值类型,具体的方式是在“change”方法名和参数的后面加上冒号,然后再加上相应的返回类型即可。按照同样的方式为类增加另外一个方法“creaseAge”,getName。
按照绘制Person同样的方式,新绘制一个类图“Computer”
此时的全局视图如下图所示。
如果想表达“Person”和“Computer”之间的关系,该怎么办呢?
可以使用Toolbox中的“DirectedAssociation”,以“Person”为起点,以“Computer”为终点来进行这种关系的绘制和表达,如下图所示。
此时表达“Person”使用“Computer”。
下面来绘制一张类图中的继承图。首先绘制三个类:Animal、Cat、Dog,如下图所示。
继承关系在类图中是使用“Generalization”, Cat继承自Animal,所以箭头是从Cat指向Animal,如下图所示。