UML类图的几个关系及其区别

原文:http://blog.csdn.net/voyage_mh1987/article/details/5735449

类图的识别是学习设计模式的一个最基本的功底,所以先介绍下类图及其相关关系

1:一般化(泛化)

一般化表示的是类与类之间的继承关系,接口与接口的继承关系,或者是类与接口的实现关系,一般化的关系是从子类指向父类,或者从实现的接口类指向被实现的接口,与继承或者实现的方向相反。

如下图所示:

类的继承

实现接口

 

 

2:关联关系

关联关系是类与类之间的联接,它使一个类知道另一个类的属性和方法,关联可以是双向的或者是单向的。双向的关联可以有两个箭头或者没有箭头。而单向关联只有一个箭头,表示关联的方向。在关联的每个端点,还可以有一个基数,表明这一端的类可以有几个实例。

 

关联

3:聚合Aggregation

聚合是关联关系的一种,是强的关联关系,聚合是整体和个体之间的关系,与关联关系一样,聚合关系也是通过实例变量来实现的。假设你在不是很确定一个关联关系是不是聚合关系,可以将其设置为关联关系。

聚合

4:合成关系 composition

聚合是关联关系的一种,是比聚合强的强的关联关系。它要求普遍的聚合关系中代表整体的对象负责代表部分的对象 的生命周期,合成关系是不能被共享的。代表整体的对象需要负责保持部分对象的存户,在一些情况下负责将代表部分的对象消灭掉。代表整体的对象可以将代表部 分的对象传递给另一个对象,由后者负责此对象的生命周期。换言之,代表部分的对象在某一个时刻只能与一个对象发生合成关系,由后者排他的负责生命周期。

合成关系

5:依赖 dependency

依赖是类与类之间的连接,依赖是单向的。依赖表示一个类依赖于另外一个类的定义。

依赖

这些都是类图的基本关系及其UML表示。了解了这些才能对设计模式开始学习。总之UML是一种建模的工具,也是分析和设计的基础,是团队协作不可缺少的一个交流的工具。下一篇博文将要介绍的是设计模式的几个原则。

原文地址:https://www.cnblogs.com/yeagen/p/2170375.html