抽象数据类型(ADT)概念以面向对象编程为例,在创建一个对象的时候,要给定这个对象有哪些属性以及行为,并且可以通过一套接口描述说明这个对象用来干什么的,在给定输入的时候,产生相应的结果,并不需要知道其内部实现的具体细节。其基本思想是,把数据定义为抽象的对象集合,并赋予它们合法操作,同时,不暴露其数据的表示细节和操作的实现细节。
通常对数据类型的操作可以分为三类构造操作:依据已知的一些信息,产生出这种类型的新对象。例如Python中的内置函数str(),通过str(1),将int对象产生出为str对象。解析操作:通过已知对象的特性,取出想要的结果,其结果反映了被解析对象的操作特性。如下:表示object是取分数的分子和分母。
变动操作:这类操作用来修改对象的内部状态。
ADT是一种思想,更是一种组织程序的技术,主要有,①围绕一类数据定义程序模块;②模块的接口和实现分离;③实例化的时候,以合理的机制实现具体的数据表示和操作。