我对UML类图中与Java Enums的关联的使用感到困惑。 目前,我正在建模一个包含 Car 类的系统,该类具有一些属性。有些也是枚举,就像 FuelKind 或 CarBrand :
数据库中会有很多汽车( Car 是一个JPA实体),我问自己哪个是 FuelKind 和 CarBrand 。
我的想法直到现在:
您对如何解决此问题有一些建议和想法吗?
答案 0 :(得分:4)
你做得差不多。有针对性的关联是这种情况的正确关系。
为了阐明关联是指类中的特定属性,请使用目标角色。这将显示为文本标签,其中包含连接器枚举末端(不类末端)的属性名称(fuelKind)。
如果您有两个相同枚举类型的属性,则必须绘制两个单独的关联。
但是,由于您在属性中使用类型名称,因此根本不需要绘制任何关系。但是,如果这样做,与目标角色的定向关联在语义上等同于命名属性中的类型。您选择的是风格问题,如果它有助于澄清事情,您可以做到这两点。
关于另一种方式的关系,关联的指导性质意味着这种关系是单向的。换句话说,以您完成的方式绘制它并不表示从枚举类型返回到类的关系。对于枚举类型,通常不应该存在整数或字符串的这种关系。
答案 1 :(得分:3)