1.1 基本介绍

聚合关系(Aggregation)表示的是整体和部分的关系,整体与部分可以分开。聚 合关系是关联关系的特例,所以他具有关联的导航性与多重性。

如:一台电脑由键盘(keyboard)、显示器(monitor),鼠标等组成;组成电脑的各个 配件是可以从电脑上分离出来的,使用带空心菱形的实线来表示:

1.2 应用实例

  1. package com.atguigu.uml.aggregation;
  2. public class Mouse {
  3. }
  1. package com.atguigu.uml.aggregation;
  2. public class Moniter {
  3. }
  1. package com.atguigu.uml.aggregation;
  2. public class Computer {
  3. private Mouse mouse; //鼠标可以和computer分离
  4. private Moniter moniter;//显示器可以和Computer分离
  5. public void setMouse(Mouse mouse) {
  6. this.mouse = mouse;
  7. }
  8. public void setMoniter(Moniter moniter) {
  9. this.moniter = moniter;
  10. }
  11. }

image.png

如果我们人Mouse,Monitor和Computer是不可分离的,则升级为组合关系

image.png