类与类之间的关系
1纵向关系;
继承:父与子的关系——extends
实现:类对接口的实现——implements2横向关系:取决于语义来理解
*依赖:
双方的地位往往是独立平等的(地位)
是偶尔的、临时性的、不频繁的(依赖程度)
代码层面的表现形式而言,往往是局部的变量
类B以参数的形式传入类A的方法。
类B以局部变量的形式存在于类A的方法中。
类A调用类B的静态方法。
。例子:酒与一次性杯子
*关联:
双方的地位往往是独立的、平等的(地位)
是长期的、稳定的、频繁的(依赖程度)
代码层面的表现形式而言,关联往往以全局属性的形式存在
。例子:电脑和硬盘
*聚合:
双方的地位不是平等的,是整体和部分之间的关系(地位)
是长期的、稳定的、频繁的,这种关系比关联更强,以至于在形式上出现了整体
和部分之间的关系。整体和部分都有自己的生命周期,一方的消失另外一方不
会跟着消失。(依赖程度)
代码层面的表现形式而言可参考关联
例子:勇士队和库里
*组合:
双方的地位不是平等的,是整体和部分之间的关系(地位)
比聚合更强,部分的生命周期取决于整体,部分随着整体的消失而消失(依赖程度)
代码层面的表现形式而言可参考关联
区分是聚合还是组合的核心点是在生命周期
;例子:教室和教学楼