首页 理论教育 数据结构与算法:Java版-抽象数据类型

数据结构与算法:Java版-抽象数据类型

时间:2023-11-03 理论教育 版权反馈
【摘要】:而抽象数据类型与数据类型实质上是一个概念,其特征是使用与实现分离,实行封装和信息隐蔽。抽象数据类型可以用以下三元组来表示,即其中,D是数据对象;S是D上的关系集;P是D上的操作集。

数据结构与算法:Java版-抽象数据类型

1.数据类型

在Java语言中,有很多基本数据类型,如int(整型)、float(单精度浮点型)、boolean(布尔型)和char(字符型)等。在使用这些基本数据类型的时候,要定义它的数据变量或常量,然后就可以进行赋值及相应的运算。比如:定义整型数据x、y及sum,对x和y进行赋值,然后计算sum等于x和y的和,具体程序段如下:

在这段简单的程序中,整型类型数据不但可以存储整型数据,还可以进行加法运算。因此,数据类型不仅仅是一组值的集合,它还包括定义于这个值集上的一组操作。而抽象数据类型与数据类型实质上是一个概念,其特征是使用与实现分离,实行封装和信息隐蔽。

2.抽象数据类型

抽象数据类型(Abstract Data Type,ADT)是指一个数学模型以及定义在该模型上的一组操作。抽象数据类型的定义取决于它的一组逻辑特性,而与其在计算机内部如何表示和实现无关,即不论其内部结构如何变化,只要它的数学特性不变,都不影响其外部的使用。抽象数据类型可以用以下三元组来表示,即

其中,D是数据对象;S是D上的关系集;P是D上的操作集。

ADT抽象数据类型名{

数据对象:〈数据对象的定义〉

数据关系:〈数据关系的定义〉

基本操作:〈基本操作的定义〉

} ADT抽象数据类型名(www.xing528.com)

3.抽象数据类型的特征

抽象数据类型有以下两个重要特征。

(1) 数据抽象。用ADT描述程序处理的实体时,强调的是其本质的特征、其所能完成的功能以及它和外部用户的接口(即外界使用它的方法)。

(2) 数据封装。将实体的外部特性及其内部实现细节分离,并且对外部用户隐藏其内部实现细节。

如果把抽象数据类型对应到Java语言中,就可以把它理解成接口“Interface”,实现时用类“Class”实现。

【例1.4】在Java中用接口来定义“圆形”,用类来实现“圆形”。

解题过程如下。

(1)首先用Interface定义图形(Shape)接口,里面定义可以用于圆形的操作。

(2)用Class实现圆形(Circle)类,里面实现接口。

注意:在定义好抽象数据类型后,需要通过固有数据类型(高级编程语言中已实现的数据类型)来实现它。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈