UML类图关系学习
继承:
实现:
依赖:一个类A使用到了另一个类B,而这种使用关系事偶然的、临时性的。但是类B的变化会影响到类A。
关联:两个类、或者类与接口之间语义级别的一种强依赖关系,关系事长期性的、平等的。表现在代码层面。为被关联类B以类属性的形式出现在关联类A中,也可能是关联类A引用了一个类型为被关联类B的全局变量。
聚合:是关联关系的一种特例。体现的是整体与部分、拥有的关系。即 has-a 的关系:
组合:是关联关系的一种特例。体现的是contains-a 的关系,也称为强聚合。
总的来说,关系的强弱程度依次为:组合 > 聚合 > 关联 > 依赖;
泛化(Generalization):一种继承关系
实现(Realization): 类是接口所有特征和行为的实现
关联(Association) :一种拥有的关系,它使一个类知道另一个类的属性和方法
聚合(Aggregation):是整体与部分的关系,且部分可以离开整体而单独存在
组合(Composition):是整体与部分的关系,但部分不能离开整体而单独存在.
如公司和部门是整体和部分的关系,没有公司就不存在部门.
组合关系是关联关系的一种,是比聚合关系还要强的关系.
依赖(Dependency): 是一种使用的关系,即一个类的实现需要另一个类的协助,所以要尽量不使用双向的互相依赖
UML综合示例图