`
liyf155
  • 浏览: 126017 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

类之间的关系--关联、聚合、泛化、依赖

阅读更多



       系统一般不会只包含一个类,而往往是由多个类组成的。寻找系统中类与类之间的相互关系,是建模必不可少、也是非常关键的一个过程。两个类之间的关系一般包括关联、聚合、泛化和依赖,还有实现关系。

 

1.关联

       当两个类之间在概念上有连接关系时,类之间的连接成为关联。关联关系描述给定类的对象之间语义上的连接,它提供了不同类的对象可以相互作用的连接。

       在Rose中,关联用一根连接类的实现表示,关联具有方向性,用箭头表示关联的方向。如果关联中部明确指明方向,则默认关联是双向的。

       如下图所示,教师辅导学生,这是一种单向关联;驾驶员(人)驾驶汽车,而汽车上坐着驾驶员,这是一种双向关联。

 

                                 

2. 聚合

       聚合是类之间的一种整体与部分的关系,也就是说,一个整体类是由多个部分类组成的。部分类和整体类之间存在的这种关系称为聚合。例如,一辆汽车包括4个轮子、一台发动机、4个门等。如下图所示:

 
                                       
 

      聚合体现了一种层次结构,整体类位于部分类的上层,多个部分类出于并列的层次。

 

3. 泛化

      面向对象的一个重要思想概念继承,继承是在现有类的基础上定义和实现一个新类的技术,刻画了类的一般性和特殊性。被继承的类称为父类或超类,继承的类称为子类。子类将父类作为自己的内容,并加入若干的新内容。子类继承父类的特性,特别是父类的属性和方法,通常,子类除了具有父类的属性和方法外,还有其它的属性和方法。


                                     

4 依赖

      依赖是两个类之间的一种关系,其中一个类的变化将影响到另一个类,或向它提供所需的信息。依赖是一种将数种不同的建模关系组织到一起的简便方法。

     类的依赖关系显示一个类引用另一个类。被引用的类的规范改变时可能会影响使用类。如下图所示:


                                        

类System引用Form,以实现DisplayForm的操作,如果类Form有变化的话就会影响System类,所以我们可以说System依赖Form,它们之间存在依赖关系。

 

5. 实现

     实现关系比较简单,类和接口之间的关系就是实现关系,表示类实现接口提供的操作。如图:


                                         


 
 
 

  • 大小: 18.9 KB
  • 大小: 16.7 KB
  • 大小: 15.8 KB
  • 大小: 15.3 KB
  • 大小: 12.8 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics