知识卡片
泛化集管理多重分类的合法组合
内容
UML 2用泛化集(generalization set)管理多重分类中哪些类型组合合法:把相关泛化关系分到同一个命名泛化集里,同一泛化集内的子类型默认互斥——超类型的一个实例只能属于该集合里的一个子类型;分属不同泛化集(如性别集和角色集)才能自由组合。单个分类对应于单个不命名的泛化集,是多重分类机制的特例而非另一套规则。
参考来源
- 位置:《UML精粹:标准对象建模语言简明指南(第3版)》第5章《类图:进阶概念》(源文件:_epub-src/EPUB/4.xhtml)
- 结论依据:原文说明"UML 2通过把每一个泛化关系放进一个泛化集(generalization set)来做到这一点……单个分类对应于单个不命名的泛化集",并指出"泛化集默认是不相交的:任何超类型的实例可以是泛化集中唯一一个子类型的实例"。
- 原始内容:如果你使用多重分类,你需要确定你清楚哪些结合是合法的。UML 2通过把每一个泛化关系放进一个泛化集(generalization set)来做到这一点……单个分类对应于单个不命名的泛化集。泛化集默认是不相交的:任何超类型的实例可以是泛化集中唯一一个子类型的实例。