例如,除非你把实现细节隐藏在一个ADT中,否则当你需要把字体类型从粗体的第一种表示变成第二种表示时,就不可避免地要更改程序中所有设置粗体字体的语句,而不能仅在一处进行修改 。把信息隐藏起来能保护程序的其余部分不受影响 。
即使你想把在内存里存储的数据改为在外存里存储,或者你想把所有操作字体的子程序用另一种语言重写,也都不会影响程序的其余部分 。改动不会影响到整个程序 如果想让字体更丰富,而且能支持更多操作(例如变成小型大写字母、变成上标、添加删除线等)时,你只需在程序的一处进行修改即可 。
这一改动也不会影响到程序的其余部分 。让接口能提供更多信息 像currentFont.size = 16这样的语句是不够明确的,因为此处16的单位既可能是像素也可能是磅 。
语句所处的上下文环境并不能告诉你到底是哪一种单位 。把所有相似的操作都集中到一个ADT里,就可以让你基于磅数或像素数来定义整个接口,或者把二者明确地区分开,从而有助于避免混淆 。
更容易提高性能 如果你想提高操作字体时的性能,就可以重新编写出一些更好的子程序,而不用来回修改整个程序 。让程序的正确性更显而易见 验证像currentFont.attribute = current- Font.attribute or 0x02这样的语句是否正确是很枯燥的,你可以替换成像currentFont.SetBoldOn()这样的语句,验证 。
7.数据结构 抽象数据类型是什么这两个概念,尤其是第一个都是特别抽象的概念,没什么具体可对应的实体可以给你举例,我就粘贴复制了,说说我的理解吧 。
数据结构呢,我们总是为了完成一个功能或者目的写程序,但不管什么程序、代码实际上都是一些指令的集合,说白了就是在描述“怎么做”,而光知道怎么做还只是问题的一半,还要知道“做什么”,也就是刚才那些指令的对象是谁,自然肯定是相关的数据,比如说学生信息管理中,指令是增加学生,那他的对象就是学生信息这种数据,指令是成绩统计,那对象就是学生的成绩数据,而在我们的程序中,数据也必须要有一种很明确的组织表示方式,只要这样我们才能在这种具体明确的实体上编写指令,比如说学生数据可以定义为一个多维的数组,只有这样我们再写增加学生时,才能知道具体增加就是增加一个数组元素并未其赋值 。所以数据结构就是相互之间有联系的具有某种组织方式的数据集合 。
抽象数据类型相比较数据结构要具体一些,我们光有了数据结构还不够,因为数据是各种各样的,对于不同数据,我们能采取的方法也不一样,比如说学生数据可以增减,成绩数据可以进行算数运算,但是为什么说抽象呢,也就说他并不是具体整型还是字符型这种基本类型,而是我们根据我们要解决的实际问题,对应现实世界所描述的一种和现实世界中的实体对应的数据类型,而且这种抽象的数据类型还包括能够对于他实行的操作,比如说我们定义一种数据类型叫“学生”,具体的数据我可以定义一中类似表的结构存储,而且还要定义一些操作,比如说添加学生,删除学生,这两部分就共同组成了“学生”这个抽象的数据类型 。
不知你明白没?
文章插图
- 关于迅龙数据恢复软件免费版的介绍 迅龙数据恢复软件免费版
- 魔兽世界数据 魔兽世界数据库3.35
- 线性表头文件怎么写
- 许可证类型怎么写
- dnf技能类型扩展卷 dnf技能类型2是什么意思
- raid5数据恢复方法 raid5数据恢复教程
- 烽火战国英雄技能 烽火战国英雄数据
- 潍柴怎么写数据
- 苹果数据线只能充电 苹果数据线只能充电吗
- 50岁男人喜欢的女人是什么类型?