UML之类图

类图
1.类:类是对一组具有相同属性,行为,关系和语义的对象的描述。一个对象是一个类的实例。类是对象的抽象定义,它定义了属性和方法,它提供了一个创建对象的模板。

2.类图:用于定义系统中的类,包括描述类的内部结构和类之间的关系。类图主要用于描述系统的静态结构。

类图的表示

UML之类图
类图用一个矩形方框表示,第一格里面为类的名称,第二格为类的属性,第三格为类的操作,属性和操作可以隐藏起来

类图的构成
1.class 类

2.interface 接口
3.关系:dependency依赖,generalization泛化 ,association关联 ,实现关系realization、聚合关系Aggregation、组合关系Composition

关系详述见下方博客:
UML类图的几种关系

类图的深入探讨

(1)可见性(visibility)
public:+
private:-
protected:#
package:~
UML之类图
(2)范围(scope):每个实例都拥有自己的属性和方法。

例如:学生student类有自己的属性和方法,它的两个对象张三和王五,他们除了有学生类的共有属性方法外,还有自己的特定的属性和方法

静态成员:对一个类的所有实例共享一个成员,类中有一个static成员,对类的所有实例都共享,在UML当中在该成员中加一条下划线表示该成员

抽象类:用斜体字表示
UML之类图
说明:如上图所示,shape形状为斜体字说明这是一个抽象类,抽象类中有一个斜体的draw,说明这是一个抽象方法,抽象类中并不会给出具体的draw画图如何实现,下面rectangle长方形类是一个具体类,它继承了shape形状这个抽象类,里面的draw方法给出了具体的如何绘制一个长方形。除此之外,还可以用一个接口来实现抽象类里面的方法。如下:
UML之类图
(3)类的多重性(multiply):两个类在对象个数上面的对应关系
UML之类图
说明:上图中的多重性表明一个公司有1名或多名员工,一名员工可以属于多个公司。
(4)属性
UML之类图[Visibility]-可见性,+、-、#、~
Name-属性的名称,不可缺省的项
[multiplicity]-属性的多重性
[:type]-属性的数据类型
[=initial-value]-属性的初始值
[{Property-string}]:readonly

(5)操作(operations)

类图的应用

1.给定一个软件系统,根据软件系统的特征抽象得到一个类
2.抽象得到每个类的属性和方法
3.正确的得出类和类之间的关系
4.对关系进行修饰,关系的名称,关系的多重性
下面以机房收费系统为例

UML之类图