isLeafisReadOnly有什么区别?

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

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

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


在第一种情况下,无法写入PI,因此将其视为最终的。
在第二种情况下,PI是叶并且无法重新定义,所以它也是最终的?

最佳答案

isLeaf表示无法通过继承重新定义元素。isReadOnly表示无法更改值。因此,isLeaf是设计约束,而isReadOnly是运行时约束。我认为在Java中没有真正直接等同于isLeaf属性的东西。但是在类上,isLeaf等效于final

关于java - UML 2.x:isLeaf与isReadOnly,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18183092/

10-11 01:29