浅谈抽象思想在程序设计中应用.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浅谈抽象思想在程序设计中应用

浅谈抽象思想在程序设计中应用   [摘 要] 抽象是计算机科学中的三个核心技术之一。通过简要分析抽象思想在程序语言,抽象数据类型,面向对象设计中的应用和带来的优化,加深了对抽象思想的认识和理解。   [关键词] 抽象思想 抽象数据类型 面向对象      0、引言   抽象是指强调实体的本质、内在的属性,是把对象的某些本质特征抽取出来,抛弃其非本质的特征。分层,抽象和虚拟是计算机科学中的三个核心技术。   1、抽象在程序语言中的应用   在IT业流传着这样一种说法,随着技术的进步,硬件的更新换代需要一年,而一种主流的编程语言和程序设计思想则需要十年,由此可见,软件的发展远远慢于硬件的发展。现在我们回顾一下编程语言发展过程,大致经历了以下几个阶段:机器指令、汇编代码、基于命令行的面向过程程序、基于图形用户界面的面向对象设计、基于互联网运行的大型应用软件系统。   事实上,无论哪一种语言,程序设计的本质是相同的,无非是把现实生活中我们遇到的问题,通过抽象然后利用计算机语言转化到机器能够理解的层次,并最终利用机器来解决所提出的问题。在此过程中,涉及到两方面问题:一、把我们所遇到的问题抽象化;二、把已经抽象化的问题用机器能够理解的语言描述出来。这两个问题体现了程序设计思想和程序设计语言,而且两者密切相关,其中的连接点就是抽象机制。程序设计语言的不断发展与演化,最根本的推动力就是对抽象机制更高的要求,以及对程序设计思想更好的支持,程序设计语言的发展,反映的就是一个抽象机制不断提高的过程。以抽象机制为核心我们可以把语言的发展划分为以下几个阶段:   第一阶段 低级语言   低级语言是与特定的计算机结构密切相关的编程语言,它包括机器语言和汇编语言。汇编语言是机器语言的直接扩展,除了各种操作码被表示为符号外,地址也被部分地表示为符号。汇编语言的核心是汇编指令,汇编指令的操作码采用容易记忆的操作符表示,而地址码采用变量名字、标号等直观的表示形式。低级语言最大的特点是与特定的机器密切相关,其优点是:利用汇编编写的程序占用内存少,运行效率高;其缺点是使用汇编语言编写程序时,过程复杂、耗时、易出错。它们几乎没有抽象,基于此,人们在编写程序时,必须按照计算机的方式去考虑问题,没有应用抽象机制,所以程序员很难解决复杂的问题。但它们是计算机语言发展的里程碑,使程序的编写成为可能,为后来语言的发展打下了一个基础。   第二阶段 面向过程的高级语言(结构化程序设计)   为了大部分用户能通过语言与计算机沟通,于是一些高级语言应运而生,这时编程人员可以离开机器层次,在抽象的层次上表达自己的思想,并通过近乎自然语言的高级语言把这种思想描述出来。结构化程序设计的一般方法可以概括为以下四个步骤:1.明确处理对象、选择算法;2.画流程图;3.编写程序;4.调试程序并运行。在第一步中,明确处理对象(数据结构)之后,把问题抽象出来,找出解决的方法(算法),这一步骤是解决问题的关键,所以说面向过程的程序设计理念也被称为“算法+数据结构”。在面向过程的程序代码里面,执行主体一般是过程或者函数。一个过程所代表的就是一个动作,动作的对象是一些数据,数据既可以通过实参得到,也可以通过全局变量得到,还有一些常量或者预定义值。   结构化程序设计另一个重要思想是采用模块分解、自顶向下、分而治之的方法,从而有效地将一个比较复杂的程序系统设计任务分解成若干个易于控制和处理的子程序或子函数,便于开发和维护。   第三阶段 面向对象的程序设计语言。   通过长期的实践人们发现:数据和对数据的操作是密切相关的。面向对象语言就是在这种将数据和操作组织到一起的思想之上,通过过程抽象、数据抽象等途径逐步发展起来的,它的出现被认为是程序设计方法学的一场革命,程序设计思想上的更新,它解决了结构化程序设计所不能解决的代码重复问题;再者,面向对象程序设计同结构化程序设计相比最大的不同在于:前者首先关心的是所要处理的数据,而后者首先要关心的是功能,这一点正符合当今软件发展的需求。迄今为止,著名的面向对象语言有:SIMULA、SMALLTALK、C++、JAVA等。   2、抽象在抽象数据类型中的应用   数据结构是在整个计算机科学与技术领域上广泛被使用的术语。它用来反映一个数据的内部构成,即一个数据由哪些成分数据构成,以什么方式构成,呈什么结构。数据结构有逻辑上的数据结构和物理上的数据结构之分。逻辑上的数据结构反映成分数据之间的逻辑关系,物理上的数据结构反映成分数据在计算机内的存储安排。数据结构是数据存在的形式。   抽象数据类型通常是指由用户定义,用以表示应用问题的数据模型。抽象数据类型由基本的数据类型构成,并包括一组相关的服务。抽象数据类型需要通过固有数据类型(高级编程语

文档评论(0)

erterye + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档