java - 代码中的类不变量

标签 java invariants

我想知道是否有确定的程序来确定特定类的不变性,或者它是否会根据具体情况而变化?

显然它取决于某些变量和需要语句,但我的问题是,

我可以遵循某种指南来确定特定类的最佳不变量吗?

谢谢

最佳答案

当契约设计概念适应面向对象语言时,它们会变得稍微复杂。

类不变量是一个属性,在调用方法时保证类的每个实例都具有该属性(就像所有方法的公共(public)前提条件),并且作为返回,每个方法和构造函数必须确保在调用时保持为真。终止(就像常见的后置条件)。

它们适合表达一致性条件。对实际钱包进行建模的 Wallet 类可能具有类不变量,即所包含的金额始终为正。

类不变量与契约的其余部分一样,是继承的。方法的新实现必须提供与其替换的方法相同的保证。

关于java - 代码中的类不变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16869339/

相关文章:

java - 在 Xtext 中重载代码生成器

typescript - 我可以编写断言多个不变量的类型保护吗?

c++ - 在 C++ 中正确使用 assert()

java - 不变量适用于无状态对象吗?

java - 我该如何为这个不变量编写一个循环?

java - 为什么电子邮件、用户名、邮政编码等作为 GAE 数据存储中的实体

java - 从 Firebase 获取值

java - 在 Fitnesse 测试中检索 applicationContext

java - 用冒号分隔小数点

javascript - 不变的JS参数不清楚