四种UML类图中的类关系

一.泛化。

泛化是指类之间继承的关系。一句话,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)。

相关文章

迭代器模式(Iterator)迭代器模式(Iterator)[Cursor]意图...
高性能IO模型浅析服务器端编程经常需要构造高性能的IO模型,...
策略模式(Strategy)策略模式(Strategy)[Policy]意图:定...
访问者模式(Visitor)访问者模式(Visitor)意图:表示一个...
命令模式(Command)命令模式(Command)[Action/Transactio...
生成器模式(Builder)生成器模式(Builder)意图:将一个对...