ADT is the set of operations. ADT's are mathematical abstractions.
这是否意味着ADT与班级相同,或者我是否将两者混淆在一起?
答案 0 :(得分:9)
差异的关键是抽象。可以把ADT想象成一个接口 - 一个只有方法声明的类,没有实现细节。
作为示例,Stack ADT定义了基本的堆栈操作,如push和pop(但没有说明应该如何实现这些操作),而Stack类将使用链接列表或数组来实际实现这些操作操作
答案 1 :(得分:3)
抽象数据类型(ADT)是现实世界的数学抽象,可以用不同语言的具体数据类型实现。
ADT定义给定类型的操作,并以数学方式表达它们的行为。 ADT的具体实现可以彼此不同。这样,类就实现了ADT,方法实现了操作。
类的术语与ADT略有不同,并添加其他特征,例如:
方法:
不要将抽象数据类型与具体语言中的抽象类混淆。
答案 2 :(得分:0)
根据Code Complete,ADT是处理该数据的数据和操作的集合。
ADT示例:
列表
ADT构成了类概念的基础。在支持类的语言中,您可以将每个抽象数据类型实现为自己的类。 类通常涉及继承和多态的其他概念。思考类的一种方法是作为抽象数据类型加上继承和多态。
答案 3 :(得分:0)
类是抽象数据类型 (ADT) 的实现。
答案 4 :(得分:-1)
ADT 是通过提供最小的预期接口和方法集来对数据结构进行分类的方式
ADT = 值集 + 操作 示例堆栈、队列