接上一篇的内容,仍然是 UML 的 关系
多重性
多重性(multiplicity),某个类有多个对象可以和另一个类的单个对象关联

表示多重性的方法是在参与关联的类附近的关联线上注明多重性数值

UML 使用星号(*)来表示许多(more)和多个(many)
在一种语境中,两点二代表 Or(或)关系
在另一种语境中,Or 关系用逗号表示

图中右侧是文字描述,不是 UML 图的一部分
一对零或一
当类 A 和类 B 之间是 一对零或一 多重性时,就说类 B 对类 A 是可选的(optional)
限定关联
当关联的多重性是一对多时,就产生了一个特殊的问题:查找问题
当一个类的对象必须要选择规则中另一个类的特定对象来满足关联中的角色时,第一个类必须要依赖一个具体的属性值来找到正确的对象
这个属性值通常时一个标识符号

在 UML 中,ID 信息叫做 限定符(qualifier)
它的符号是一个小矩形框,把作为一对多多重性的一部分的类连在一起

限定符的作用是将一对多关联化简为一对一关联
这里在书中描写的感觉比较不直白,其实限定关联我觉得就是在一张表中通过主键去查找指定的行,表就是图中左侧的部分,指定的行是图中右侧的部分,而中间的限定符就是主键
自身关联
一个类可能与它自己发生关联,这样的关联称为自身关联(reflexive association)
当一个类的对象可以充当多种角色时,自身关联就可能发生
用从类矩形框出发又回到自身的关联线表示自身关联,在关联线上可以指明角色名、关联名、关联的方向以及多重性

一个车上的人,既可能是司机也可能是乘客,如果是司机,那么一个车上的人可以搭乘零个到多个乘客
注:本笔记出自《UML 基础、案例与应用》一书的 第四章 关系
微信中搜索 “码农UP2U” 关注我的公众号吧!!!
网友评论