isLeaf
和isReadOnly
有什么区别?
根据https://stackoverflow.com/a/16253663/2656889和https://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/