抽象数据类型ADT - 编程思想
2008-06-18 14:26
267 查看
ADT - Abstract data Type (数据抽象类型)
一些数据以及对这些数据所进行的操作的集合...
首先我觉得必须理解什么是抽象..
为什么抽象不能实例化...
这概念源于还有虚方法...
比如 你游戏系统中有很多的动物.
抽象数据可以让你像现实世界中一样的操作实体.
动物就是一个抽象..它并不是一个实际东西. 只有一个归类..
那么这个抽象下 具体使用也就是能实例化 比如 猫啊. 狗啊. 猪啊..
他们都是单独类.但是他们有共同的属性 和方法..
比如 它们都会叫. 它们都会跑. 它们都有手.它们都有脚..等等..
这不能不说到抽象中的虚方法 该方法并不具备任何实际动作..
但是被重写后具有实际的操作...
使用这样的思想去编写程序会有什么什么好处呢..
可以隐藏实现的细节
改动不会印象到整个程序
让接口能提供更多的信息.
更容易提高性能.
让程序的正确性更显而易见..
程序更具有自我说明..
无需在程序内到处传递数据..
你可以像在现实世界中那样操作实体.而不在底层实现上操作它..
那么在使用的时候有些什么建议..
把常用的底层数据类型创建为ADT并使用这些ADT,而不再使用底层数据类型
把像文件这样的常用对象当成ADT..
简单的事务也可当做ADT
不要让ADT依赖于其存储介质.
抽象的概念来源于类...
在编写程序的时候可能会编写很多很多的类...
但是你的类真的是类吗 你做到了这些吗
一定要理解类所实现的抽象是什么.
提供成对的服务..
把不相关的信息转移到其他类..
尽可能让接口可编程,而不是表达语义..
慎防在修改时破坏接口的抽象
不要添加于接口抽相爱难过不一致的公用成员.
一些数据以及对这些数据所进行的操作的集合...
首先我觉得必须理解什么是抽象..
为什么抽象不能实例化...
这概念源于还有虚方法...
比如 你游戏系统中有很多的动物.
抽象数据可以让你像现实世界中一样的操作实体.
动物就是一个抽象..它并不是一个实际东西. 只有一个归类..
那么这个抽象下 具体使用也就是能实例化 比如 猫啊. 狗啊. 猪啊..
他们都是单独类.但是他们有共同的属性 和方法..
比如 它们都会叫. 它们都会跑. 它们都有手.它们都有脚..等等..
这不能不说到抽象中的虚方法 该方法并不具备任何实际动作..
但是被重写后具有实际的操作...
使用这样的思想去编写程序会有什么什么好处呢..
可以隐藏实现的细节
改动不会印象到整个程序
让接口能提供更多的信息.
更容易提高性能.
让程序的正确性更显而易见..
程序更具有自我说明..
无需在程序内到处传递数据..
你可以像在现实世界中那样操作实体.而不在底层实现上操作它..
那么在使用的时候有些什么建议..
把常用的底层数据类型创建为ADT并使用这些ADT,而不再使用底层数据类型
把像文件这样的常用对象当成ADT..
简单的事务也可当做ADT
不要让ADT依赖于其存储介质.
抽象的概念来源于类...
在编写程序的时候可能会编写很多很多的类...
但是你的类真的是类吗 你做到了这些吗
一定要理解类所实现的抽象是什么.
提供成对的服务..
把不相关的信息转移到其他类..
尽可能让接口可编程,而不是表达语义..
慎防在修改时破坏接口的抽象
不要添加于接口抽相爱难过不一致的公用成员.
相关文章推荐
- C编程思想之抽象数据类型(ADT)(二)
- C编程思想之抽象数据类型(ADT)(五)实例演练
- C编程思想之抽象数据类型(ADT)(三)
- C编程思想之抽象数据类型(ADT)(一)
- C编程思想之抽象数据类型(ADT)(四)
- C语言ADT(抽象数据类型编程)
- C语言ADT(抽象数据类型编程) (含Demo演示文件)
- 编程思想与技术总结(一)
- 【程序人生】:一篇关于编程思想的体会
- 编程思想之递归
- Java编程思想_笔记(四)
- 不要让经验禁锢你的编程思想
- java编程思想-第15章-泛型
- delphi开发日志——基窗体,使用面向对象编程的编程思想创建基类
- 编程思想基本概念之函数式编程(Functional Programming)
- 编程思想:面向对象和面向过程
- 程序员编程思想之数学素养(转载时请注明出处)
- 在ASP.NET中面向对象的编程思想
- java编程思想-第11,17章-容器,高级容器
- 函数式编程思想:耦合和组合,第1部分