UML 依赖 泛化 关联关系的区别

1:依赖关系  

有两个元素A、B,如果元素A的变化会引起元素B的变化,则称元素B依赖(Dependency)于元素A。  

在类中,依赖关系有多种表现形式,如:一个类向另一个类发消息;一个类是另一个类的成员;一个类是另一个类的某个操作参数,等等。

 2:概括关系

  概括关系(Generalization,也翻译为“泛化关系”),描述了一般事物与该事务中的特殊种类之间的关系,也就是父类与子类之间的关系。继承关系是泛化关系的反关系,也就是说子类是父类中的继承的,而父类则是子类的泛化。

在UML中,对泛化关系有以下3个要求:

 1) 子类与父类完全一致,父类所具有的关系、属性和操作,子类元素都应具有。

 2) 子类中除了与父类一致的信息外,还包括额外的信息。

 3) 可以使用父类实例的地方,也可以使用子类实例。

 3:关联关系

 关联(Association)表示两个类的实例之间存在的某种语意上的关系。例如,一个老师为某一个学校工作,一个学校有多间教室。我们就认为老师和学校、学校和教室之间存在着关联关系。 关联关系为类之间的通信提供了一种方式,它是所有关系中最通用、语义最弱的。

关联关系通常可以再细分成以下几种。

 1) 聚集关系(Aggregation): 又称聚合关系,它是关联关系的特例。聚集关系是表示一种整体和部分的关系。如一个电话机包括一个话筒,一个电脑包含显示器、键盘和主机等都是聚合关系的例子。

 2) 组合关系:如果聚集关系中的表示”部分“的类存在,与表示”整体“的类有紧密的关系,例如 ”公司“与”部门“之间的关系,那么就应该使用”组合“关系来表示。 

原文地址:https://www.cnblogs.com/huzefeng/p/2369103.html