【问题标题】:UML 2.x: isLeaf vs isReadOnlyUML 2.x:isLeaf 与 isReadOnly
【发布时间】:2013-08-12 09:01:25
【问题描述】:

isLeafisReadOnly 有什么区别?

根据https://stackoverflow.com/a/16253663/2656889https://stackoverflow.com/a/18095538/2656889isLeft表示该元素不能被重新定义,isReadOnly表示它只能被读取。

我正在使用 Java。如果我想为final 属性建模,这两个不一样吗?建模private static final int PI = 3.14 将产生以下之一(假设带下划线):

- PI : int = 3.14 {readOnly}
- PI : int = 3.14 {leaf}

在第一种情况下,PI 无法写入,因此被视为最终结果。 在第二种情况下,PI是一个叶子,不能重新定义,所以它也是最终的?

【问题讨论】:

    标签: java uml constants modeling


    【解决方案1】:

    isLeaf 表示不能通过继承重新定义元素 isReadOnly 表示不能更改值。所以isLeaf 是设计约束,而isReadOnly 是运行时约束。我认为在 Java 中没有真正的直接等效于 isLeaf 属性。但是在一个类上isLeaf 等价于final

    【讨论】:

    • 这个好的答案可以改进:“但是在一个类上 isLeaf 相当于 final”。我认为您的意思是“isReadOnly”而不是“isLeaf”。
    • 嗨,ASBH,在类 isLeaf 上等同于 Java 类上的 final:你不能重新定义它,也不能从它继承。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-24
    • 1970-01-01
    • 1970-01-01
    • 2013-11-15
    • 2013-06-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多