UML类间关系表示图示及含义

来源:互联网 发布:淘宝小钱包 编辑:程序博客网 时间:2024/04/28 20:42

1. 前言

由于最近发疯了得想看各种源码,但是在总结类间关系时,突然发现自己把UML的相关知识已经还给了《UML模式与应用》这本书。最终还是决定写一个日志,记录一下,以便自己以后查询。这里不会将UML的各种元素都提到,只是记录类图中各个类之间的关系; 通过这里的阅读能看懂类图中各个类之间的线条、箭头代表什么意思,这样也就能够应付以后的简单构图问题了。


2. UML类图以及类间关系

UML中,类图描述系统中类,接口的静态结构以及它们之间关系的静态结构。类间关系包括泛化(generalization)、实现(realization)、依赖(dependency)、关联(association).其中关联包括一般的关联关系,聚合。关系(aggregation)和组合关系(composition) 。

a. 泛化关系

“is-a”关系,对象间的耦合度最大的一种关系,子类继承父类的所有细节。图示为带空心三角箭头的实线,箭头由子类指父类,如下图示:

generalization

b. 实现关系

接口与其实现者之间的关系,图示为带空心三角箭头的虚线,箭头由实现者指向接口,如下图示:

realization

c. 依赖关系

依赖关系是对象间最弱的一种关系,是一种临时性的关联,经常出现在由局部变量、函数参数或返回值建立的调用关系等。图示为带有箭头的虚线表示,箭头从使用类指向被使用者,如下图示:

dependency

c. 关联关系

对象间的一种引用关系,如客户与订单之间的关系,图示为带有箭头的实现,可以是单向或双向。

d. 聚合关系

一种’has-a”的关系,是一种不稳定的包含关系。整体与部分之没有必然的联系,如果整体不存在,部分仍旧可以单独存在,就像公司和员工之间的关系。图示为带有空心菱形的实线,部分指向整体:
aggregation

e. 组合关系

一种”contains-a”的关系,是一种很强的包含关系,组合类负责被组合类的生命周期,是一种更强的聚合关系,部分不能脱离整体单独存在,例如,公司和部分之间的关系。图示为带实心菱形的实线,由部分指向整体,如下:
这里写图片描述

其中聚合和组合关系需要重点区分,注意概念中的定义。

3. 小结

通过以上的总结和记录,足以应付以后各种简单类图的起草。希望对大家也有用。

0 0
原创粉丝点击