如何识别UML关联类的适当实现?

时间:2016-06-07 09:56:14

标签: associations uml class-diagram

我正在阅读有关UML类图的教程,我在理解关联类时遇到问题,以及为什么这个MileageCredit类不属于以下示例中FrequentFlyer类的一部分(取自教程here)的图11:

enter image description here

假设它是FrequentFlyer和MileageCredit之间的一对一关系(如果一个人有两个FrequentFlyer成员资格,他们仍然有不同的frequencyFlyerNumber数字)那么我只想把这些baseMiles和{{1} FrequentFlyer 类本身的属性。

有人可以解释为什么这是错的吗?

1 个答案:

答案 0 :(得分:2)

MileageCredit是一个AssociationClass,这意味着它同时是一个Association(链接)Flight和FrequentFlyer)和一个描述该Association的类。这个事实由连接类和关联的虚线描绘。请注意,根据UML规范,这些类和关联一起创建一个实体。

在你的例子中,在FrequentFlyer和Flight之间有一个Association(称为MileageCredit)。您可以假设这显示了FrequentFlyer所执行的Flight。至于这些协会,您需要额外的信息(奖励给飞行的FrequentFlyer的奖励和奖励里程数)这个协会有这个额外的班级来描述这些信息。

如果您在FrequentFlyer上创建了与协会完全没有关系的baseMiles和bonusMiles,那么它只会获得有关FrequentFlyer总分的信息。