现在的位置: 首页 > 综合 > 正文

类与类之间的关系

2018年03月19日 ⁄ 综合 ⁄ 共 831字 ⁄ 字号 评论关闭
类与类之间的关系大体可以分为三种:泛化关系(Generalization)、关联关系(Association)、依赖关系
(Dependency).其中关联关系又细分为:组合关系(Composition)、聚合关系(Aggregation)以及除了这两种特殊关系所剩
下的所有关联关系。一般情况下(默认),我们所说的关联关系是不包括组合关系和聚合关系的。
      泛化关系(Generalization)主要体现为:接口的继承、接口实现、类的继承,也就是所谓的(is a关系)。图形如下:

     关联关系(Association)主要体现为:全局变量(has a
关系),它使一个类知道另一个类的属性和方法。关联关系有:双向关系和单向关联,大部分的关联都是单向的。比如:class A 关联于class
B,那么在class A 中就有一个class B 的全局变量,以表示class A 包含了class B对象的引用。

    
组合关系(Composition)主要体现为:整体与部分的关系,这是一种很强的“拥有”关系,整体与部分的生命周期是一致的。比如:class A
组合于class B,那么A 拥有一个 B的全局对象(A has a B,and A composed by
B),在A创建的时候创建B对象,在A生命周末结束的时候B也结束,就好像人和心脏。

    
聚合关系(Aggregation)主要体现为:这是一种较弱的“拥有”关系,体现的是A对象可以包含B对象,但是B对象不是A对象的组成部分
(classA has a classB,but A not composed by
B)。既A和B的生命周期是不一致的,A对象创建的时候不一定创建B对象,A对象销毁的时候,B对象还可以独立存在。

     依赖关系(Dependency)主要体现为:函数的参数(use a 关系),表示一个类(A)依赖于另一个类(B)的定义,其中B的变化将影响到A,如果A依赖于B,那么B在A中存在的形式为:方法的参数、局部变量、静态方法的调用等。

抱歉!评论已关闭.