【问题标题】:UML Diagram: Reflexive Association with class instance clarificationUML 图:自反关联与类实例说明
【发布时间】:2017-11-12 15:43:58
【问题描述】:

我在Eclipse Neon中使用了一个叫ObjectAid的插件,它是一个自动生成UML图的插件。

现在我了解生成的 UML 中的所有内容,除了一件事,即箭头“~class instance”旁边的标签。那部分是什么意思?

这只是生成的 UML 的相同图像,而不是真实图像,因此请理解这只是一个示例。

编辑:

//more codes here
static APAGenerator generateAPA = new APAGenerator();

public static void main(String[] args) {
    try {
        generateAPA.run();
    } catch (Exception e) {
        e.printStackTrace();
    }
}
//more codes here

【问题讨论】:

  • 如果您想要更准确的答案,您可以发布 Class 的代码和生成的架构。
  • 正如@Kilian 所说,角色名称很奇怪,并且不经常使用包可见性。你真的声明了一个包的可见性吗?
  • @granier,我已经整理好了,不再寻找答案,感谢您的关注。虽然对于这一部分“你真的声明包可见性吗?”,不,我没有为我创建的类实例指定任何访问修饰符。我已经为类实例提供了上面的代码 sn-p。

标签: java uml


【解决方案1】:

好吧,我不能代表这个 ObjectAid(以及他们的制造商认为他们应该做什么),但根据 UML 规范,~ 告诉可见性是package,后面是关联的角色名称需要(IOW:正在使用的属性)。所以名字是class instance,这看起来很奇怪。

【讨论】:

    【解决方案2】:

    @Helquin,你应该用 java 编码吗?

    如果您不指定可见性,则默认为私有包。它解释了可见性。

    注意:在 java 中 protected 也是包(参见 java visibility)。

    但是有了 ~class 实例,您应该得到一个带下划线的 ~generateAPA,其基数为 1。

    【讨论】:

    • 对不起,我现在添加了一个Java标签。
    • @Helquin,别抱歉,回答问题总是很愉快。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-24
    • 1970-01-01
    相关资源
    最近更新 更多