类与类之间的关系

类与类之间的关系大体可以分为三种:泛化关系(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中存在的形式为:方法的参数、局部变量、静态方法的调用等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值