【问题标题】:JML, accurate definition for invariantsJML,不变量的准确定义
【发布时间】:2017-12-25 03:30:52
【问题描述】:

有人可以准确解释 Java 建模语言中的以下不变量,并指出它们之间的主要区别吗?

  • 公共不变量
  • 抽象函数(私有不变量)
  • 表示不变量(私有不变量)

【问题讨论】:

    标签: java data-modeling abstraction jml


    【解决方案1】:

    可见性修饰符在JML reference manual 中进行了解释; in this section 给出了关于不变量可见性的简短说明。主要观点是

    根据 JML 通常的可见性规则,不变量的访问修饰符会影响哪些成员,即可以在其中使用哪些字段和哪些(纯)方法

    不变量的访问修饰符不影响方法和构造函数维护和建立它们的义务。也就是说,无论不变量和方法的访问修饰符如何,所有非辅助方法都应保留不变量。例如,公共方法必须保留私有不变量以及公共不变量。

    也就是说,公共不变量可以谈论公共成员,而私有不变量可以谈论公共、受保护、包可见和私有成员;并且所有方法都必须建立所有类不变量。

    我真的不知道您所说的“抽象函数(私有不变量)”是什么意思,访问修饰符中似乎没有任何隐藏的语义含义,它们只是访问修饰符而已。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-13
      • 1970-01-01
      • 1970-01-01
      • 2012-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多