在UML中,事物之间相互联系的方式(无论是逻辑上的还是物理上的)都被建模为关系。在面向对象的建模中,有3种最重要的关系:依赖、关联和泛化。

(1)依赖(dependency)是使用关系。例如,水管依赖热水器,对它们所运送的水进行加热。

(2)关联(association)是实例之间的结构关系。分包含(has a)、使用(use a)和创建三种,其中包含分两种:被包含着是包含着的一部分,称为组合(composition);包含着是个集合,被包含着是集合中的一项,称为聚合(aggregation)。

(3)泛化(generalization)把一般类连接到较为特殊的类,也称为超类/子类关系或父/子关系。例如,观景窗是一种带有固定的大窗格的窗户,庭院窗是一种带有向两边开的窗格的窗户。




      主要讲一下关联。关联(association)是一种结构关系,它指明一个事物的对象与另一个事物的对象间的联系。给定一个连接两个类的关联,可以从一个类的对象联系到另一个类的对象。关联的两端都连到同一个类是完全合法的。这意味着,从类的给定对象能连接到该类的其他对象。恰好连接两个类的关联叫作二元关联。尽管不太常见,但可以有连接多于两个类的关联,这种关联叫作n元关联。在图形上,把关联画成一条连接相同类或不同类的实线。当要表示结构关系时,就使用关联。
      除了这种基本形式外,还有4种应用于关联的修饰。
      1. 名称:
      
      2.角色
      
      3.多重性
      
      4.聚合
      

      例子
      
      其中学校与部门是组合关系(类似于汽车与轮胎),学校与学生是聚合关系(类似于机场上的飞机)

posted on 2007-04-18 17:01  风生水起  阅读(778)  评论(0编辑  收藏  举报