类之间的关系

📊 类之间关系对比

关系含义典型特征生命周期UML 表示
依赖 (Dependency)A 的方法里临时用到 B(用完就扔)短暂依赖,局部变量、参数独立虚线箭头 →
关联 (Association)A 长期知道 B(属性/成员变量)长期联系,但不必“生死与共”独立实线
聚合 (Aggregation)A 拥有 B,但 B 可以独立存在整体-部分关系(弱拥有)独立空心菱形 —◇
组合 (Composition)A 拥有 B,B 不可独立存在强拥有,生死相依依赖 A实心菱形 —◆

📖 举例说明

  • 依赖方法里 new 一个 B,方法结束就没了。
  • 关联class A { B b; },但 A 不负责 B 的销毁。
  • 聚合班级-学生,学生脱离班级也能存在。
  • 组合人-心脏,人没了心脏也就没了。

✅ 记忆口诀

  • 依赖:局部使用,短期依赖,用完就丢
  • 关联:朋友,保持长期联系。
  • 聚合:室友,可以搬出去单过。
  • 组合:水果超市与水果的关系,超市倒闭了,超市里的水果也就没有了