我想知道是否有确定的程序来确定特定类的不变性,或者它是否会根据具体情况而变化?
显然它取决于某些变量和需要语句,但我的问题是,
我可以遵循某种指南来确定特定类的最佳不变量吗?
谢谢
最佳答案
当契约设计概念适应面向对象语言时,它们会变得稍微复杂。
类不变量是一个属性,在调用方法时保证类的每个实例都具有该属性(就像所有方法的公共(public)前提条件),并且作为返回,每个方法和构造函数必须确保在调用时保持为真。终止(就像常见的后置条件)。
它们适合表达一致性条件。对实际钱包进行建模的 Wallet 类可能具有类不变量,即所包含的金额始终为正。
类不变量与契约的其余部分一样,是继承的。方法的新实现必须提供与其替换的方法相同的保证。
关于java - 代码中的类不变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16869339/