一.泛化。
泛化是指类之间继承的关系。一句话,is-a。
泛化关系使用实现空心三角表示,如下图:
二.依赖。
依赖关系是指类在实现某一功能时对另一个类的服务的依赖。依赖关系的特点体现在局部,临时。一般用在局部变量,方法参数以及静态方法的调用等。依赖关系用虚线箭头表示,如下图:
三.关联。
一个对象的实例和另一个对象的实例存在固定的依赖关系。表现为后者是前者的一个实例变量。
即has-a关系。
关联关系有五种:
以上分别为双向关联和单向关联:双向关联意味着两个类彼此知道它们间的联系,而单向关联只有一个类知道这种联系的存在。
以下为可能的多重值描述:
可能的多重值描述 | |
表示 | 含义 |
---|---|
0..1 | 0个或1个 |
1 | 只能1个 |
0..* | 0个或多个 |
* | 0个或多个 |
1..* | 1个或多个 |
3 | 只能3个 |
0..5 | 0到5个 |
5..15 | 5到15个 |
四.聚合。
聚合是一种特殊的关联关系。它强调的是构件组成整体的关系。即整体由构件组成。
聚合和关联的区别:
1.关联关系的两个对象是在同一个层次上的。比如人和电脑,聚合关系强调组成,比如电脑和他的显示器,键盘等就是聚合关系,电脑是由这些构件组成的,而人不是由电脑组成,只是强调一种使用的关联关系。
2.聚合关系中的构件和整体对象,可以有相同的生命周期,这种聚合称为组合聚合,反之叫做基本聚合。
以上分别是基本聚合和组合聚合的例子。
最后看一下类元素的表示,CFamily是一个非抽象类,而CPerson是一个抽象类,类名用斜体表示:
此外,一条带有闭合的单向箭头的点线意味着实现(或实施implements);一条带有闭合单向箭头的实线表示继承(extends)。