java - 大小受限堆栈的类不变量
问题描述
我目前正在研究数据结构和面向对象的合同,尤其是在 Java 方面。
我想知道大小受限堆栈的类不变量可能是什么。如果我正确理解了不变量的概念,那么这个不变量在整个程序执行过程中都必须为真,以证明程序的正确性,对吧?
例如,假设这个大小受限的堆栈包含数据类型 Person 的元素。我现在对不变量的想法是:
assert limitNotReached();
如果尚未达到堆栈的最大大小,limitNotReached() 返回 true,否则返回 false。
这是一个很好的不变量还是有人有更好的改进想法/建议?
解决方案
数据结构是展示类不变量概念的一个非常糟糕的选择。它是一种数据结构,它包含事物,但它本身并不是“事物”,因此没有什么特别的不变量很有意义。
一个更好的例子是一个 Car 类,它有一个不变的条件,它的燃料水平永远不会是负数。
推荐阅读
- reactjs - react-navigation:屏幕可以有不同的名称,然后在 routeConfig 中传递什么?
- sql - 前 n 个子组的 Teradata SQL 计数
- javascript - 以编程方式向 Javascript 中的对象添加属性
- java - 处理大型未排序数据集的回归
- c++ - c ++未解决的外部符号
- vb.net - 更改远程机器上的服务启动类型
- android - 如何将 Android.mk 转换为 CMake.txt?
- python - 尝试用硒/美丽的汤提取动态表(网址不变)
- python - 按顺序组合多个列表
- javascript - 在 Vue 组件实例上更新道具的正确方法是什么