空间站

北极心空

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  15 Posts :: 393 Stories :: 160 Comments :: 0 Trackbacks

UML类图中的关系分为四种:泛化、依赖、关联、实现;关联关系又可以细化为聚合和组合。

 

1. 泛化(Generalization)

      泛化是父类和子类之间的关系,子类继承父类的所有结构和行为。在子类中可以增加新的结构和行为,也可以覆写父类的行为。

2. 依赖(Generalization)

      依赖关系是一种使用关系,特定事物的改变有可能会影响到使用该事物的事物,反之不成立。在你想显示一个事物使用另一个事物时使用。

    通常情况下,依赖关系体现在某个类的方法使用另一个类作为参数

 

3. 关联(Dependency)

      关联是一种结构化的关系,指一种对象和另一种对象有联系。给定有关联的两个类,可以从一个类的对象得到另一个类的对象。关联有两元关系和多元关系。两元关系是指一种一对一的关系,多元关系是一对多或多对一的关系。一般用实线连接有关联的同一个类或不同的两个类。当你想要表示结构化关系时使用关联。

      关联关系是通过类的成员变量 来实现的。



3.1 聚合(Aggregation)

      聚合是一种特殊的关联。它描述了“has a”关系,表示整体对象拥有部分对象。

      关联关系和聚合关系来语法上是没办法区分的,从语义 上才能更好的区分两者的区别。聚合是较强的关联关系,强调的是整体与部分 之间的关系。

      与关联关系一样,聚合关系也是通过类的成员变量 来实现的。


图 12: 一个聚合关联的例子

 

3.2 组合(Composition)

      组合是聚合的一种形式,它具有更强的拥有关系,强调整体与部分的生命周期 是一致的。整体负责部分的生命周期的管理。如果整体被销毁,部分也必须跟着一起被销毁,如果所有者被复制,部分也必须一起被复制。

      与关联关系一样,组合关系也是通过类的成员变量 来实现的。

 

图 13: 一个组合关系的例子

 

4. 实现(Realization)

      实现关系指定两个实体之间的一个合约。换言之,一个实体定义一个 合约 ,而另一个实体保证履行该 合约

 

图 10:Professor类和Student类实现Person接口的类图实例

 

posted on 2008-06-02 14:50 芦苇 阅读(737) 评论(0)  编辑  收藏 所属分类: JAVA其他

只有注册用户登录后才能发表评论。


网站导航: