一、类图概要
类图是面向对象系统建模中最重要的图,是定义其它图的基础。类图主要是用来展现软件系统中的类、接口以及它们之间的静态结构。
二、类图中的元素及解释
1、类
2、接口
一组操作的集合,只有操作的声明而没有实现
3、抽象类
不能被实例化的类,一般至少包含一个抽象操作
4、模板类
一种参数化的类,在编译时把模板参数绑定到不同的数据类型,从而产生不同的类
三、类图中的关系及解释
1、泛化(Generalization)
泛化是继承关系的一种,子类继承父类的所有行为和属性,子类可以新增新的功能或者重写父类功能。
uml中使用带空心三角箭头的实线标示
【箭头指向】:箭头指向父类
2、实现(Realization)
实现是接口和类的关系,是指类实现了接口中定义的接口,uml中用带空心三角箭头的虚线
【箭头指向】:箭头指向接口类
3、关联(Association)
在建模过程中必然存在类之间的联系,使类可以感知其他类的行为和属性,关联分为双向和单向关联.
单向关联
对于一个单向关联来说也是两个类是相关的,但是只有一个类知道这种联系的存在
双向关联(标准)
对于双向关联来说被关联的两个类可以感知对方的存在
关联关系的表示方法如下:
表示 | 含义 |
0..1 | 0个或1个 |
1 | 只能1个 |
0..* | 0个或多个 |
* | 0个或多个 |
1..* | 1个或多个 |
3 | 只能3个 |
0..5 | 0到5个 |
5..15 | 5到15个 |
4、聚合(Aggregation)
聚合是关联关系的一种,聚合主要描述整体与部分直接的关系。需求陈述中常使用“包含”、“组成”、“分为…部分”等字句。除了基本(一般)聚集之外,还有共享聚集和组合聚集。
5、组合(Composition)
组合聚合是聚合的一种特殊情况,成员对象与整体对象之间具有同生共死的关系,UML中使用一条从整体类到部分类的实线,并在整体类的关联末端画一个实心棱形标识
6、依赖(Dependency)
依赖即一个类的实现需要其他类的协助,通常代码表现为方法参数,局部变量,静态方法调用,util类调用,uml中使用一条箭头的虚线,从依赖方指向被依赖的类