(3.1).[6章]可以工作的类:类的基础-抽象数据类型ADT(p126)

本文解析《代码大全2》中抽象数据类型的精髓,阐述如何通过ADT隐藏实现,提升程序可维护性。理解ADT作为设计思想,实例演示其在字体控制程序中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

越看《代码大全2》越发现它的博大精深,真的由衷佩服作者,有如此宽广的知识面,而且文笔又是这么的好,作为专业技术书籍,没有写得框框条条,枯燥无味。而是写得详略有当,排版布局直观,为能遇到这样的好书真是感到荣幸。如果刚工作时就接触这本书,并能理解的话,相信现在水平绝对是几何级别的。

今天看到了第6章的:抽象数据类型(ADT),整个6.1就讲了什么是ADT,它有什么好处,并举了实际的例子,以方便理解ADT,整个6.1核心就是要明白抽象数据类型概念的定义

说实话,第一天看时,也是迷迷糊糊,没看懂,第二天再重复看,感觉恍然大悟,有些理解ADT了,过了几天再来看,感觉又迷糊了,经过思考以下是我的理解。

什么是抽象数据类型?

作为程序员,当我们看到XX数据类型时,最先想到的就是程序语言的数据类型,如整型、字符型等。但在本文在的ADT并不是指这些或类似这些的程序语言数据类型。

抽象数据类型(ADT)该怎么分词来理解呢?我思考了很长时间,我觉得应该是:抽象/数据类型,抽象是一个动词,一种思考的动作,而数据类型,不是程序语言的某种整型或字符型,而是你的具体业务对象(可能是一个图形窗体及能影响他的操作,也可能是一个文件及对文件进行的操作)

为了更便于整理,作者举了个例子,一个能控制字体、字号、加粗等功能的程序,在不使用ADT的情况下的实现方式,和使用ADT的实现方式,通过这个例子能更清晰理解ADT。

使用ADT的益处

可以隐藏实现细节

        隐藏实现细节,可以让你修改内部实现时,不影响所有外部的调用。

改动不会影响到整个程序

让接口能提供更多信息

更容易提高性能

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

程序更具说明性

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

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

最后一点益处,我觉得能帮助我们正确、深入、直观理解ADT的意义,我认为ADT是一种设计思想,而不是具体的某种技术或实现,是要用ADT的思想来抽象业务,指导我们使用具体的编程语言技术,开发出软件功能。

使用ADT的指导建议:

  1. 把常见的底层数据类型创建为ADT并使用这些ADT,而不再使用底层数据类型
  2. 把像文件这样的常用对象当成ADT
  3. 简单的事务也可当做ADT
  4. 不要让ADT依赖于期存储介质

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值