类图 |
2.类图:用于定义系统中的类,包括描述类的内部结构和类之间的关系。类图主要用于描述系统的静态结构。
类图的表示 |
类图用一个矩形方框表示,第一格里面为类的名称,第二格为类的属性,第三格为类的操作,属性和操作可以隐藏起来
类图的构成 |
2.interface 接口
3.关系:dependency依赖,generalization泛化 ,association关联 ,实现关系realization、聚合关系Aggregation、组合关系Composition
关系详述见下方博客:
UML类图的几种关系
类图的深入探讨 |
(1)可见性(visibility)
public:+
private:-
protected:#
package:~
(2)范围(scope):每个实例都拥有自己的属性和方法。
例如:学生student类有自己的属性和方法,它的两个对象张三和王五,他们除了有学生类的共有属性方法外,还有自己的特定的属性和方法
静态成员:对一个类的所有实例共享一个成员,类中有一个static成员,对类的所有实例都共享,在UML当中在该成员中加一条下划线表示该成员
抽象类:用斜体字表示
说明:如上图所示,shape形状为斜体字说明这是一个抽象类,抽象类中有一个斜体的draw,说明这是一个抽象方法,抽象类中并不会给出具体的draw画图如何实现,下面rectangle长方形类是一个具体类,它继承了shape形状这个抽象类,里面的draw方法给出了具体的如何绘制一个长方形。除此之外,还可以用一个接口来实现抽象类里面的方法。如下:
(3)类的多重性(multiply):两个类在对象个数上面的对应关系
说明:上图中的多重性表明一个公司有1名或多名员工,一名员工可以属于多个公司。
(4)属性
[Visibility]-可见性,+、-、#、~
Name-属性的名称,不可缺省的项
[multiplicity]-属性的多重性
[:type]-属性的数据类型
[=initial-value]-属性的初始值
[{Property-string}]:readonly
类图的应用 |
1.给定一个软件系统,根据软件系统的特征抽象得到一个类
2.抽象得到每个类的属性和方法
3.正确的得出类和类之间的关系
4.对关系进行修饰,关系的名称,关系的多重性
下面以机房收费系统为例