1. 前言
由于最近发疯了得想看各种源码,但是在总结类间关系时,突然发现自己把UML的相关知识已经还给了《UML模式与应用》这本书。最终还是决定写一个日志,记录一下,以便自己以后查询。这里不会将UML的各种元素都提到,只是记录类图中各个类之间的关系; 通过这里的阅读能看懂类图中各个类之间的线条、箭头代表什么意思,这样也就能够应付以后的简单构图问题了。
2. UML类图以及类间关系
UML中,类图描述系统中类,接口的静态结构以及它们之间关系的静态结构。类间关系包括泛化(generalization)、实现(realization)、依赖(dependency)、关联(association).其中关联包括一般的关联关系,聚合。关系(aggregation)和组合关系(composition) 。
a. 泛化关系
“is-a”关系,对象间的耦合度最大的一种关系,子类继承父类的所有细节。图示为带空心三角箭头的实线,箭头由子类指父类,如下图示:
b. 实现关系
接口与其实现者之间的关系,图示为带空心三角箭头的虚线,箭头由实现者指向接口,如下图示:
c. 依赖关系
依赖关系是对象间最弱的一种关系,是一种临时性的关联,经常出现在由局部变量、函数参数或返回值建立的调用关系等。图示为带有箭头的虚线表示,箭头从使用类指向被使用者,如下图示:
c. 关联关系
对象间的一种引用关系,如客户与订单之间的关系,图示为带有箭头的实现,可以是单向或双向。
d. 聚合关系
一种’has-a”的关系,是一种不稳定的包含关系。整体与部分之没有必然的联系,如果整体不存在,部分仍旧可以单独存在,就像公司和员工之间的关系。图示为带有空心菱形的实线,部分指向整体:
e. 组合关系
一种”contains-a”的关系,是一种很强的包含关系,组合类负责被组合类的生命周期,是一种更强的聚合关系,部分不能脱离整体单独存在,例如,公司和部分之间的关系。图示为带实心菱形的实线,由部分指向整体,如下:
其中聚合和组合关系需要重点区分,注意概念中的定义。
3. 小结
通过以上的总结和记录,足以应付以后各种简单类图的起草。希望对大家也有用。
UML类间关系表示图示及含义
最新推荐文章于 2024-09-28 17:29:25 发布