1、基本介绍

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

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

2、应用实例

代码演示:

public class Computer {  
    private Mouse mouse;  
    private Monitor monitor;  
  
    public void setMouse(final Mouse mouse) {  
        this.mouse = mouse;  
    }  
  
    public void setMonitor(final Monitor monitor) {  
        this.monitor = monitor;  
    }  
}

public class Monitor {}

public class Mouse {}

UML类图:

xfrkt

3、其他

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

public class Computer {  
    private Mouse mouse = new Mouse();
    private Monitor monitor = new Monitor();
}