`
bld
  • 浏览: 4442 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

抽象数据类型

阅读更多

抽象数据类型:Abstract Data Types (ADT),定义是:一个数学模型及定义在些数学模型上的一组操作。数据模型太抽象了,代码大全中这样说的:一些数据以及对这些数据所进行操作的集合。

上面定义中的数据,是广意上的数据,可以指一组数字,也可以指一组描述一张地图的数据,也可以指一个窗体等等。



ADT定义了数据存储及可对这些数据进行的操作 ,使用它的人可以只关心它的逻辑特征,不需要了解它的存储方式。定义它的人同样不必要关心它如何存储。从而让使用者可以在更高层次(在问题领域,而非底层实现领域)上进行数据操作,隔离了使用与实现。


ADT的描述一般形式如下:

名称{

数据对象:......

数据关系:......

操作集合:......

}


ADT是类的基础。ADT具有抽象和封装的特点。所以跟类一样具备抽象与封装带来的益处。以下是代码大全中对ADT的好处的说明:

1.改动不会影响程序

2.让接口能提供更多信息。(接口(如名称)可以传达出更多信息)

3.更容易提高性能(修改ADT实现,则此ADT的所有使用者都可以受益,并且不用做修改)

4.让程序的正确性更显而易见(操作接口,而非操作细节,如果Font.SetBoldOn()与Font.attribute= 0x02)

5.程序更具自我说明性(同4的例子)

6无须在程序内到处传递数据(只使用ADT提供的接口,不用操作细节中的数据)

7可以像现实世界中那样操作实体,而不是在底层实现上操作它。

java中的ADT:java中的集合即是抽象数据类型。


 

0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics