作为我学习的一部分,我认为我发现的抽象定义的最佳答案(有意义)来自stackoverflow:
除此之外,
作为当前在线课程 cs61B 2006 年秋季伯克利的一部分,我学习了与上述定义相似的 ADT 的以下定义,但添加了一个额外的词“不变”。我应该认为这个词是上述定义的必然结果吗?或者这个词是定义的一部分吗?
_Abstract_Data_Type_ (ADT) 是一个具有良好定义接口的类,但它的实现细节对其他类是完全隐藏的。这样,您可以更改类的实现,而不会危及依赖它的程序。Date 类是一个 ADT。
ADT 允许您强制执行不变量。
不变量是关于始终正确的数据结构的事实(假设代码没有错误),无论外部类调用什么方法。例如,Date ADT 强制执行 Date 对象始终表示有效日期的不变量。通过只允许通过方法调用访问某些字段来强制执行不变量。