【问题标题】:StarUML class diagram: add attribute of the type Guid[]StarUML 类图:添加 Guid[] 类型的属性
【发布时间】:2011-10-31 03:03:19
【问题描述】:

在 StarUML 5.0 中,我试图定义一个具有 Guid[] 类型属性(Guid 结构数组)的类。但不允许输入“-guids : Guid[]”,因为 StarUML 会自动丢弃方括号。

我没有尝试过其他建模工具...只是想知道如何使用 StarUML 来做到这一点。

如果我提供数组的长度,StarUML 似乎可以接受,例如“-guids : Guid[10]”,但在 StarUML 生成的代码中,此字段类似于

private Guid guids; //the square brackets are missing;

或者我可以添加一个星号,如“-guids : Guid*”,在生成的代码中,字段是这样的

private Guid* guids; 

这也不是我想要的,即使在 C++ 中指针和数组在概念上是可互换的。 (我正在用 C# 编码)

【问题讨论】:

    标签: class-diagram staruml


    【解决方案1】:

    StarUML 对数组的定义与标准 UML 略有不同。对于您的具体问题,我将使用 [*] 来定义数组。下面的第一个示例描述了这一点。

    定义一个包含未定义元素数量的数组:

    -guids: Guid[*]
    

    定义一个具有特定数量元素的数组:

    -guids: Guid[16]
    

    定义一个基数为 0 且元素个数未定义的数组:

    -guids: Guid[0..*]
    

    定义一个基数为 1 的数组,其中元素个数未定义:

    -guids: Guid[1..*]
    

    用特定数量的元素定义一个特定的基本数组:

    -guids: Guid[1..100]
    

    【讨论】:

    • 我查看了所有语言的代码生成过程。似乎没有正确生成任何语言。 StarUML 将始终将 [ ] 排除在声明之外。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多