【发布时间】:2017-12-25 03:30:52
【问题描述】:
有人可以准确解释 Java 建模语言中的以下不变量,并指出它们之间的主要区别吗?
- 公共不变量
- 抽象函数(私有不变量)
- 表示不变量(私有不变量)
【问题讨论】:
标签: java data-modeling abstraction jml
有人可以准确解释 Java 建模语言中的以下不变量,并指出它们之间的主要区别吗?
【问题讨论】:
标签: java data-modeling abstraction jml
可见性修饰符在JML reference manual 中进行了解释; in this section 给出了关于不变量可见性的简短说明。主要观点是
根据 JML 通常的可见性规则,不变量的访问修饰符会影响哪些成员,即可以在其中使用哪些字段和哪些(纯)方法。
和
不变量的访问修饰符不影响方法和构造函数维护和建立它们的义务。也就是说,无论不变量和方法的访问修饰符如何,所有非辅助方法都应保留不变量。例如,公共方法必须保留私有不变量以及公共不变量。
也就是说,公共不变量可以谈论公共成员,而私有不变量可以谈论公共、受保护、包可见和私有成员;并且所有方法都必须建立所有类不变量。
我真的不知道您所说的“抽象函数(私有不变量)”是什么意思,访问修饰符中似乎没有任何隐藏的语义含义,它们只是访问修饰符而已。
【讨论】: