UML 依赖 泛化 关联关系的区别
1:依赖关系
有两个元素A、B,如果元素A的变化会引起元素B的变化,则称元素B依赖(Dependency)于元素A。
在类中,依赖关系有多种表现形式,如:一个类向另一个类发消息;一个类是另一个类的成员;一个类是另一个类的某个操作参数,等等。
2:概括关系
概括关系(Generalization,也翻译为“泛化关系”),描述了一般事物与该事务中的特殊种类之间的关系,也就是父类与子类之间的关系。继承关系是泛化关系的反关系,也就是说子类是父类中的继承的,而父类则是子类的泛化。
在UML中,对泛化关系有以下3个要求:
1) 子类与父类完全一致,父类所具有的关系、属性和操作,子类元素都应具有。
2) 子类中除了与父类一致的信息外,还包括额外的信息。
3) 可以使用父类实例的地方,也可以使用子类实例。
3:关联关系
关联(Association)表示两个类的实例之间存在的某种语意上的关系。例如,一个老师为某一个学校工作,一个学校有多间教室。我们就认为老师和学校、学校和教室之间存在着关联关系。 关联关系为类之间的通信提供了一种方式,它是所有关系中最通用、语义最弱的。
关联关系通常可以再细分成以下几种。
1) 聚集关系(Aggregation): 又称聚合关系,它是关联关系的特例。聚集关系是表示一种整体和部分的关系。如一个电话机包括一个话筒,一个电脑包含显示器、键盘和主机等都是聚合关系的例子。
2) 组合关系:如果聚集关系中的表示”部分“的类存在,与表示”整体“的类有紧密的关系,例如 ”公司“与”部门“之间的关系,那么就应该使用”组合“关系来表示。