UML 到 Java 代码 - 多重指标和大写变量

UML to Java code - Multiplicity Indicator and capitalized variable

我正在学习 UML,我需要将给定的 UML 图转换为 java 代码。我已经创建了 Manager class、Account class 和 Ident 界面。

不明白的地方我用黄色标出来了。关于帐户 class 我不明白 AccountCounts 是什么。我以为它可能是一个private static int实例变量,但是它在开头写一个大写字母是没有意义的。 所以我认为它是一个内部 class,但这也没有意义。

我也不知道是否可以用代码表示多重性。我的想法是 1 个经理对象可以使用多个帐户类型的对象。但我不确定 1 Manager 对象如何与 Ident 对象一起工作,因为这是一个接口。我什至无法创建接口的实例,可以吗?

提前致谢。

吉尔特说的。总之:

  • 问UML的作者为什么要大写AccountCounts。正如您假设的那样,它是一个静态本地属性。
  • 多样性可以用多种方式表达。如果您的多重性较低,则可以实例化 var1var2 等。或者像您一样使用列表。
  • 您标记的名称是协会的名称(我从未发现它对我的建模非常有用)。它们可能应该是角色名称,但它们不是。如果是这样,他们需要靠近远端(此处在右侧)并在前面有可见性指示器(++、- 等)。

倍数或基数

  • 1 to 0..n表示1个经理可以有0个或多个账户(其他关联关系同理)。

关联线上的标签

  • 线上的标签表示一个人 class 与另一个人互动的性质。在大多数情况下,建议使用行上的动词作为标签。(例如:'accounts'关于从Manager到Account的关联关系)

帐户数

  • Account class 中的 'AccountCounts' 之所以有下划线,是因为它被视为变量而不是属性。根据我将 UML class 图转换为代码的经验,我相信您需要在 'AccontCounts' 变量中存储创建的帐户实例数。但建议阅读您的案例研究并了解需要什么。

请使用这些资源来帮助您更好地理解 OOP 和 UML 图 圣人 (2019)。 Object-Oriented 编程简明指南