3.4.1 "有一个"关系
"有一个"关系或者聚合关系的模式是A有一个B,或者A包含一个B。在这种类型的关系中,可以认为某个对象是另一个对象的一部分。前面定义的组件通常代表着"有一个"关系,因为组件表示组成其他对象的对象。
动物园以及猴子就是这种关系的一个示例。您可以说动物园有一只猴子,或者动物园包含了一只猴子。在代码中用zoo对象来模拟动物园,这个对象有一个monkey组件。
考虑用户界面有助于理解对象之间的关系。尽管并非所有的UI都是(尽管现在大多数是)以OOP方式实现的,屏幕上的视觉元素也能很好地转换为对象。UI关于"有一个"关系的类比就是窗口包含了一个按钮。按钮以及窗口是明显不同的两个对象,但是又明显有某种联系。由于按钮在窗口中,因此说窗口有一个按钮。
图3-3显示了实际的"有一个"关系以及用户界面的"有一个"关系。
|
| 图 3-3 |
