UML类图中的三种关系----关联、聚合和泛化

一、关联association

1、解释说明:

  表示两种类实例间的关系。如果一个类的实例必须要用另一个类的实例才能完成工作时就要用关联。关联关系时在类中是使用实例变量来定义实现的。

2、在图中,关联用两个类之间的连线表示。例图:

 二、聚合aggregation

1、解释说明:

  当对象A被加入到对象B中,成为对象B的组成部分时,对象B和A之间为聚集关系。聚合是关联关系的一种,是较强的关联关系,强调整体与部分之间的关系。与关联关系一样,聚合关系也是通过实例变量来实现的。

2、在图中,聚合用一个带菱形的连线,菱形指向具有整体性质的类。例图:

       

4、关联与聚合的区别

  在语法上是难以区分的,在语义上才能更好的区分两者的区别。关联关系所涉及的两个对象是处在同一个层次上的。比如人和自行车就是一种关联关系,而不是聚合关系,因为人不是自行车的组成部分。聚合关系涉及的两个对象处于不平等的层次上,一个代表整体,一个代表部分。比如:电脑和它的显示器、键盘、主板和内存就是聚集关系。

 

三、泛化generalization

1、解释说明:

  泛化是一种继承关系,如果一个类A的所有属性和操作能被另一个类B所继承,则类B不仅可以包含自己独有的属性,而且可以包含类A的属性和操作。继承是类与类或者类与接口之间最常见的关系。

2、在图中,泛化关系用一个三角形指向超类。例图:

           

posted on 2017-10-19 11:11  笑看风云变幻  阅读(3714)  评论(0编辑  收藏  举报