个人关于ADT的理解

ADT(抽象数据类型),是计算机科学中具有类似行为的特定类别的数据结构的数学模型;或者具有类似语义的一种或多种程序设计语言的数据类型。抽象数据类型是间接定义的,通过其上的可执行的操作以及这些操作的效果的数学约束(与可能的代价)。
例如,抽象的堆栈(stack)由3个操作定义:推入push,弹出pop(接受约束:每次弹出返回的是最新被推入且没有被弹出的数据,也就是后进先出),查看堆栈顶端数据peek。当分析使用堆栈算法的效率,所有这3个操作用时相同,无论堆栈中包含多少项数据;并且对每项数据栈使用了常量大小的存储。
对于ADT的使用,每个人都有不同的见解。由于其对于系统的不同部分有着很好的封装性,因此个人觉得在程序设计中占有很大的作用。

ADT有着属于自己的独立性,其内部的实现并不会影响外部的抽象类型,即抽象和内部类型是完全独立的。同时ADT还有这一个重要的属性就是保持自己的不变量,不变量有一个最重要的属性就是:对于每种运行状态,不变量永远都是正确的。比如说对于一个不可变对象,那么他就是一个不变量。不变量是由ADT来负责的,如果一个变量是一个不变量,呢么他应当与client的任何行为无关。

关于ADT的其他行为以及操作,我还在更加深入的学习中,可能会在之后的文章中更加详细的介绍。



      

猜你喜欢

转载自blog.csdn.net/qq_42108758/article/details/80670285