06抽象数据类型

1. 抽象数据类型

​ 抽象数据类型(ADT,abstract data type)是指一些数据以及对这些数据所进行的操作的集合。这些操作即向程序的其余部分描述了这些数据是怎么样的,也允许程序的其余部分改变这些数据。

​ “抽象数据类型”概念中“数据”一词的的用法有些随意。一个ADT可能是一个图形窗体以及所有能影响该窗体的操作;也可以是一个文件以及对这个文件进行的操作;或者是一张保险费率表以及相关操作。

​ 要想理解面向对象编程,首先要理解ADT,不懂ADT的程序员开发出来的类知识名义上的“类”而已——实际上这种“类”只不过就是把一些稍微有点关系的数据和子程序堆在一起。然而在理解ADT之后,程序员就能写出在一开始很容易实现、日后也容易修改的类来。

​ 抽象数据类型可以让你像在现实世界中一样操作实体,而不必再底层的实现上摆弄实体,这多么令人兴奋啊。你不用再向链表中插入一个节点了,而是可以在电子表格中添加一个数据单元格,或向一组窗体类型中添加一个新类型,或给火车模型加挂一节车厢。深入挖掘能在问题领域工作(而非在底层实现lingua工作)的能量吧!

2. 使用ADT的益处
  • 可以隐藏实现细节

  • 改动不会影响到整个程序

  • 让接口能提供更多信息

  • 更容易提高性能

  • 让程序的正确性更显而易见

  • 程序更具自我说明性

  • 无须在程序内到处传递数据

  • 你可以像在现实世界中那样操作实体,而不用在底层实现上操作它

3. 创建ADT的方法
  • 把常见的底层数据类型创建为 ADT 并使用这些 ADT,而不再使用底层数据
  • 把像文件这样的常用对象当成ADT
  • 简单的事物也可当做ADT
  • 不要让ADT依赖于其存储介质
posted @ 2018-10-23 21:03  洛克十年  阅读(126)  评论(0编辑  收藏  举报