6

我有两个类(比如DatabaseRecord)。在 Database 类中,我有一个名为 getRecords() 的方法,它返回 Record 对象的列表。

在Java中,上述方法可以写成:

List<Record> getRecords(){..}

在 StarUML 中,在设计类图时,我尝试给

+getRecords() : Record[0..*]

但 StarUML 拒绝创建上述方法。当我尝试使用下面的方法时,它可以工作

+getRecords() : ArrayList<Record>

但这更具体到 Java。我想在 StarUML 中实现类似 Record[0..*] 的东西。是否可以以这种格式编写方法,或者返回类型的 Java 风格是唯一的解决方案?

4

1 回答 1

23

我不知道 StarUML 为什么拒绝解析文本,但您仍然可以通过模型创建它。

  1. 添加操作并调用它getRecords()
  2. 右键单击操作(在图表或模型中),然后选择添加 > 参数
  3. 在Model Explorer中选择参数(可能在创建时已选择该参数)并将direction参数设置为return. 这就是 UML 表示返回类型的方式。
  4. (配置类型、多重性和您需要的任何其他内容。)

请注意,UML 中的默认集合是Set,因此您应该检查isOrdered,因为List它是有序集合。

于 2018-03-20T16:53:42.590 回答