对象与对象之间发生关联关系,但在定义这些对象之间关系的时候,要在类的层次上定义(定义可重用的对象关系)。
关联关系
关联用一条把类连接起来的实线来表示。
-
自反关联(递归关联)
一个类与本身的关联,即一个类的两个对象间的联系。
-
二元关联
两个类之间的关联。
-
N元关联
3个或3个以上类之间的关联。
关联类
有时要为关联相关信息的存储定义一个专门的类,称为"关联类"
..保存与关联关系本身相关的信息
..这些信息不属于关联所连接的两端的类
限定关联
在关联端紧靠源类图标处可以有限定符(Qualifier)。带有限定符的关联称为限定关联(Qualified Association)。
说明:
- 限定符是关联的属性。
-
限定符的作用是 ,给定关联一端的一个对象和限定符值 ,可确定另一端的一个对象或对象。
聚合与组合关系
聚合( Aggregation )用于表达一个整体对象 与其成员对象之间的关系
- "Has-a”或是"Whole/part"
组合( Composition )用于表达一个整体对象 与其组成部分之间的关系。
- 组合关系所表达的整体类与部分类之间的所属关系更强。
- 整体类的对象不存在时,部分类的对象也不存在。
-
整体类对象撤销之前要负责将部分类对象撤销。
聚合与组合关系是关联关系的特例
继承/泛化关系
- 继承/泛化关系建模的意义在于系统环境发生变化时便于添加新的子类
- 继承/泛化关系建模的过程
-
自顶向下
- 将某个类分割为属性和操作不同的子类,或者发现关联关系定义的是分类关系"kind of"
-
自底向上
-
为现有的多个具有公共属性及方法的类,定义一个父类
-
-
自顶向下
依赖关系
实现关系
类图的抽象层次
在软件开发的不同阶段使用的类图具有不同的抽象层次。一般地,类图可分为三个层次,即概念类,设计说明类和实现类。