我正在学习 UML,我需要将给定的 UML 图转换为 java 代码。我已经创建了 Manager 类、Account 类和 Ident 接口。我把还不明白的部分用黄色标记了。关于 Account 类,我不明白 AccountCounts 是什么。我以为它可能是一个 private static int 实例变量,但是它开头写成大写字母是没有意义的。所以我认为这是一个内部类,但这也没有意义。我也不知道是否可以在代码中表示多重性。我的想法是,1 个管理器对象可以使用多个帐户类型的对象。但我不确定 1 Manager 对象如何与 Ident 对象一起使用,因为这是一个接口。我什至无法创建接口的实例,可以吗?提前致谢。
2 回答
慕妹3146593
TA贡献1820条经验 获得超9个赞
吉尔特说的话。无论如何:
询问 UML 的作者为什么要大写
AccountCounts
。正如您所假设的,它是一个静态本地属性。多重性可以用多种方式表达。如果你的多重性较低,你可以实例化 a
var1
、var2
等。或者你可以像以前一样使用列表。您标记的名称是关联的名称(我从未发现它对我的建模非常有用)。它们可能应该是角色名称,但事实并非如此。如果是这样,它们需要靠近远端(此处为右侧),并且前面有一个可见性指示器(
+
+、等)。-
茅侃侃
TA贡献1842条经验 获得超21个赞
重数或基数
1 到 0..n 表示 1 个管理员可以拥有零个或多个帐户(其他关联关系也相同)。
关联线上的标签
线上的标签表示一个类与另一类交互的性质。大多数情况下,建议使用该行上的动词作为标签。(例如:Manager 到 Account 的关联关系上的“accounts”)
帐户计数
Account 类中的“AccountCounts”带有下划线的原因是因为它被视为变量而不是属性。根据我将 UML 类图转换为代码的经验,我相信您需要存储在“AccontCounts”变量中创建的帐户实例的数量。但建议您阅读您的案例研究并了解需要什么。
请使用这些资源来帮助您更好地理解 OOP 和 UML 图 Sage (2019)。面向对象编程简明指南
添加回答
举报
0/150
提交
取消