C++面向对象程序设计 郝谦主编.pdfVIP

  • 4
  • 0
  • 约18.76万字
  • 发布于四川
  • 举报
  • 文档已下架,其它文档更精彩
程序与语言 程序 程序是用能够被计算机理解 的一种语言编写的语句 的集合 。它 以某种语言为工具编制 出有 目的的、预想好的动作序列,表达人的思想。 对于计算机来说,一组机器指令就是程序。当我们说机器代码或者机器指令时,都是指 程序,它是按计算机硬件设计规范的要求编制出来的动作序列。对于使用计算机的人来说, 程序员用某高级语言编写的语句序列也是程序 。程序通常以文件的形式保存起来。所 以, 源文件、源程序和源代码都是程序。 一个好 的程序应该有 以下特点: 正确可靠。不正确的程序不仅不能解决问题,反而会带来不必要的麻烦和损失。 )清晰易读 。由于受计算机速度和存储容量 的限制 ,早期的程序往往将程序的效率 放在第一位,随着科技发展,程序的可读性和可理解性成为设计的重点考虑 内容。 易维护。当业务需求发生变化时,不需要太多的开销就可 以扩展和增强程序 的功 。 可移植性好 。编写的程序在各种计算机和操作系统上都能运行,并且运行结果一 样 。 程序设计语言的发展 程序设计语言的发展经历了机器语言、汇编语言和高级语言等阶段,总的趋势是描述手 段越来越高级,越来越接近 自然语言或数学语言,越来越贴近客观世界本身。 最早,程序员使用最原始的计算机指令,即机器语言程序。只有机器语言才能为机器所 识别和运行。这些指令 由一串二进制的数表示。不久,发明了汇编语言,它可 以将机器指令 映射为一些能被人读懂的助记符 ,如 。程序员运行汇编程序,将用助记符写成的 源程序转换成机器指令,然后再运行机器指令程序,得到所要的结果。那时,编写程序的都 是计算机专业人员,编写程序的语言都是低级的或是较低级的。这些语言的优点是:写出的 程序 效率较 高 。缺 点是:程序难 以设计、理解和维护 ,难 以保证程序 的正确性 ,此外 ,可移植 性不好。 面对上述 问题, 等几十种甚至几百种高级语言应运而生,中间 经历了严酷的优胜劣汰过程 ,最后剩下的是一些比较优秀 的高级语言。高级语言的优点在 于:程序容 易设计、理解和维护 ,容 易保证程序 的正确性 ,另外,用高级语 言编写 的程序与采 用的具体计算机的指令系统无关,这就容易将程序移植到其他不同型号的计算机 中执行。 但是从本质上说, 目前的高级语言大都只是在抽象级上比低级语言略高级一些而已,它 们大都还是基于冯 诺依曼计算机的计算模型,而采用这些语言就必须按照计算机解决问题 的方式来描述解题过程,所以程序设计仍然很困难。因此,人们还在努力设计抽象级别更高 的语言或让计算机能够理解 自然语言,以便程序员能用更 自然的方式来设计程序 。 面 向对象程序设计 的方法 面 向对象方法 的由来 “对象”一词在现实生活中经常会遇到,它表示现实世界中的某个具体的事物。 社会的不断进步和计算机科学的不断发展是相互促进 的,一方面计算机科学的发展推 动了社会的发展,计算机的广泛应用给整个社会生产力带来了勃勃生机;另一方面社会的发 展 ,又给计算机科学提出了许多新的要求,计算机科学只有不断地进行 自身提高和 自身完 善,才能适应不断进步的社会生产力的需要。随着计算机的普及应用,人们越来越希望能更 直接地与计算机进行交互,而不需要经过专 门学习和长时间训练后才能使用它。这一强烈 愿望使软件设计人员的负担越来越重 ,也为计算机领域 自身的发展提 出了新 的要求 。利用 传统的程序设计思想无法满足这一要求 ,人们就开始寻求一种更能反映人类解决 问题的 自 然方法 ,“面 向对象”技术就是在这样 的情况下产生 的。 “面 向对象”技术追求的是软件系统对现实世界的直接模拟,尽量实现将现实世界中的 事物直接映射到软件系统的解空间。它希望用户用最小的气力,最大程度地利用软件系统 来解决问题。 现实世界中的事物可分为两大部分,即物质和意识,物质表达的是具体的事物;意识描 述 的是某一个抽象的概念 。例如“汽车 ”和“那辆红色 的汽车 ”,“那辆红色 的汽车 ”是物质 ,它 是具体 的客观存在;“汽车 ”是意识,它是一个抽象的概念,是对客观存在 的事物 的一种概括 。 这些现实世界中的事物可直接映射到面 向对象系统的解空间,

文档评论(0)

1亿VIP精品文档

相关文档