Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想知道是否有确定特定类的不变量的确定程序,还是会根据具体情况进行更改?
显然它取决于某些变量并需要语句,但我的问题是,
我可以遵循某种指南来确定特定类的最佳不变量吗?
谢谢
当它们适应面向对象的语言时,契约式设计概念会变得稍微复杂一些。
类不变量是在调用方法时保证类的每个实例都具有的属性(就像所有方法的公共前提条件一样),并且作为回报,每个方法和构造函数必须确保在它们终止时保持为真(例如一个常见的后置条件)。
它们很适合表达一致性条件。对实际钱包进行建模的 Wallet 类可能具有包含的金额始终为正的类不变量。
类不变量,就像合同的其余部分一样,是继承的。方法的新实现必须提供与它们替换的方法相同的保证。