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类图:
3、其他
如果我们 Mouse、Monitor 和 Computer 是不可分离的,则升级为组合关系
public class Computer {
private Mouse mouse = new Mouse();
private Monitor monitor = new Monitor();
}