VISUAL_C 面向对象程序设计教程与实验(第二版)清华大学出版社1 8章答案.pdfVIP

VISUAL_C 面向对象程序设计教程与实验(第二版)清华大学出版社1 8章答案.pdf

  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文档。上传文档
查看更多
第一章 1. 什么是面向对象程序设计?它与传统的结构化程序设计有什么不同? 面向对象程序设计既吸取了结构化程序设计的一切优点,又考虑了现实世界 与面向对象解空间的映射关系,它所追求的目标是将现实世界的问题求解尽可能 简单化。 面向对象程序设计将数据及对数据的操作放在一起,作为一个相互依存、不 可分割的整体来处理,它采用了数据抽象和信息隐藏技术。它将对象及对对象的 操作抽象成一种新的数据类型—类,并且考虑不同对象之间的联系和对象所在类 的重要性。 面向对象程序设计优于传统的结构化程序设计,其优越性表现在,它有希望 解决软件工程的两个主要的问题——软件复杂性控制和软件生产率的提高,此外 它还符合人类的思维习惯,能够自然地表现现实世界的实体和问题,它对软件开 发过程具有重要的意义。 在面向对象程序设计中可以用下面的式子表示程序: 程序 对象+对象+…+对象 对象 算法+数据结构+程序设计语言+语言环境 在结构化程序设计中可以用下面的式子表示程序: 程序 数据结构+算法+程序设计语言+语言环境 2. 面向对象程序设计语言有哪几类? (1) LISP家族 LISP是50年代开发出来的一种语言,它以表处理为特色,是一种人工智能 语言,70年代以来,在LISP基础上开发了很多LISP家族的面向对象语言。 (2) Simula Simula语言是60年代开发出来的,在Simula 中引入了几个面向对象程序 设计语言中最重要的概念和特性,即数据抽象、类和继承性机制。Simula67是 它具有代表性的一个版本,70年代发展起来的CLU,Ada,Modula-2等语言是在 它的基础上发展起来的。 (3) Smalltalk Smalltalk是第一个真正的面向对象程序设计语言,它体现了纯粹的OOP设 计思想,是最纯的OOP语言。它起源于Simula语言。尽管Smalltalk不断完善, 但在那个时期,面向对象程序设计语言并没有得到广泛的重视,程序设计的主流 是结构化程序设计。 (4) C家族 在 19世纪80年代,C语言成为一种极其流行、应用非常广泛的语言。C++ 是在C语言的基础上进行扩充,并增加了类似Smalltalk语言中相应的对象机制。 它将 “类”看作是用户定义类型,使其扩充比较自然。C++以其高效的执行效率 赢得了广大程序设计员的青睐,在C++中提供了对C语言的兼容性,因此,很多 已有的C程序稍加改造甚至不加改造就可以重用,许多有效的算法也可以重新利 用。它是一种混合型的面向对象程序设计语言,由于它的出现,才使面向对象的 程序设计语言越来越得到重视和广泛的应用。 JAVA语言是一种适用于分布式计算的新型面向对象程序设计语言,可以看 作是C++语言的派生,它从C++语言中继承了大量的语言成分,抛弃了C++语言 中冗余的、容易引起问题的功能,增加了多线程、异常处理、网络程序设计等方 面的支持,掌握了C++语言,可以很快学会JAVA 语言。 3. 面向对象系统有哪些特性?分别加以解释。 (1) 抽象性 (abstract) 抽象是一种从一般的观点看待事物的方法,它要求程序员集中于事物的本质 特征,而不是具体细节或具体实现。类的概念来自人们认识自然、认识社会的过 程。在这一过程中,人们主要使用两种方法:从特殊到一般的归纳法和从一般到 特殊的演绎法。在归纳的过程中,我们从一个个具体的事物中把共同的特征抽取 出来,形成一个一般的概念,这就是 “归类”;在演绎的过程中,我们又把同类 的事物,根据不同的特征分成不同的小类,这就是“分类”。对于一个具体的类, 它有许多具体的个体,我们称这些个体叫做 “对象”。 (2) 封装性 (encapsulation) 所谓数据封装就是指一组数据和与这组数据有关的操作集合组装在一起,形 成一个能动的实体,也就是对象。数据封装就是给数据提供了与外界联系的标准 接口,无论是谁,只有通过这些接口,使用规范的方式,才能访问这些数据。数 据封装是软件工程发展的必然产物,使得程序员在设计程序时可以专注于自己的 对象,同时也切断了不同模块之间数据的非法使用,减少了出错的可能性。 (3) 继承性 (inheritance) 从已有的对象类型出发建立一种新的对象类型,使它继承原对象的特点和功 能,这种思想是面向对象设计方法的主

文档评论(0)

134****7356 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档