UML是描述现实世界的,所以,在碰到问题的时候,尽量搞清楚对象在现实世界中的关系,然后再把它用UML的语言表述出来。
总述:
关联分为单向关联(unidirectional association)和双向关联(bidirectional association)。
如果想要 强调 整体-部分 的关系的话,还可以使用聚合(aggregation)和合成(composition),两者都是关联的增强形式;也就是说聚合和合成是关联的子集。此时,未强调部分的关联关系仍然如故。
我试着用汽车,发动机,千斤顶3个概念来举例说明UML中关于“关联(association)”的几个概念。
单向关联 和 双向关联
关联形式 |
语义 |
汽车 —> 千斤顶 |
用千斤顶撬动汽车 |
汽车 — 千斤顶 |
用千斤顶撬动汽车;反向,千斤顶有吨数限制,调用汽车的方法取得汽车的吨数。 |
上述情况下,汽车和千斤