C++ 第3讲.pptVIP

  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文档。上传文档
查看更多
C第3讲

第8章 类和对象 重点 :在理解类和对象概念的基础上学习类 的声明和定义。 引入C++的类(class)和对象(object) 的概念,建立“函数也可以是数据类型的成员”的思想。 我们用仅有的一章篇幅对面向对象方法作了粗浅的论述,实际上要想说好说清这个题目是很难的,实在是因为面向对象方法涉及到软件工程学、方法学、认识论等众多需要好好琢磨的知识。不过,这不影响我们回答下面的有关面向对象的基本问题:到底什么是面向对象?让我们来看看公认的面向对象大师Grady Booch的一段流传甚广的话: 我对OO编程的目标从来就不是复用。相反,对我来说,对象提供了一种处理复杂性的方式。这个问题可以追溯到亚里士多德:您把这个世界视为过程还是对象? 在OO兴起运动之前,编程以过程为中心----例如结构化设计方法。然而,系统已经到达了超越其处理能力的复杂性极点。有了对象,我们能够通过提升抽象级别来构建更大的、更复杂的系统----我认为,这才是面向对象编程运动的真正胜利。 -- Grady Booch 正如Booch 讲到的一样,从本质上说,面向对象是一个古已有之的认识论的问题,之所以面向对象方法兴起,是因为这种认识论能够帮助我们构造更为复杂的系统来解释越来越复杂的现实世界。只要你认同这个世界的本质是由独立的对象组成的,在特定的场景下,孤立对象之间在不同的驱动力和规则下的信息交互体现出了不同的运动过程。 面向对象的思想并不复杂,我们要在逐渐深入的过程中习惯和掌握从对象的角度来认识这个世界。 类的所有成员函数(包括内联和非内联)都不占用对象的存储空间,都在公共区内。 类函数与对象之间的物理实现不影响它们的逻辑关系,我们依然可以说某对象的成员函数,或调用某对象的成员函数,系统会处理好这些关系。 * * 类的声明和定义 对象的定义 对象成员的引用 8.1 面向对象程序设计方法概述 面向对象思想的由来 为了更有效的实现大型复杂软件的开发。提出的一种能够更直接模拟现实世界,按照系统的自然组成来抽象系统结构的方法。 传统的面向过程程序设计是围绕功能进行的,用一个函数实现一个功能。所有的数据都是公用的,一个函数可以使用任何一组数据,而一组数据又能被多个函数所使用。程序设计者必须考虑每一个细节,什么时候对什么数据进行操作 。 面向对象程序设计采取的是另外一种思路。它面对的是一个个对象。 程序设计者的任务包括两个方面:一是设计所需的各种类和对象,即决定把哪些数据和操作封装在一起;二是考虑怎样向有关对象发送消息,以完成所需的任务。各个对象的操作完成了,整体任务也就完成了。 实际上,每一组数据都是有特定的用途的,是某种操作的对象。也就是说,一组操作调用一组数据。 对象 属性(静态特征) 行为 (动态特征) 发消息 ——让对象作什么。 一个系统中有多个对象相互作用。 数据 函数(方法、操作) 调用对象中的函数就是向 该对象发消息,是对象的 少量的对外接口。 封装性 、信息隐蔽 程序中(C++中) 现实的问题空间 抽象: 现实中对象 类 对象(类的一个实例) 抽象出 C++ 类型 变量 继承性 与 软件重用 利用一个已有的类建立一个新类 多态性:由继承而产生的相关的不同的 类,其对象对同一消息会做出不同响应。 数据 函数(算法) 对象1 数据 函数(算法) 对象2 系统(程序) 消息 面向过程 面向对象 利用不同层次的抽象来表述和实现一个系统 基于对象就是基于类,C++中的类是实现面向对象程序设计的基础。 面向对象软件开发 规范的软件开发过程(软件工程学要解决的问题): 1、面向对象分析OOA:粗略的分析任务,归纳出有关对象 2、面向对象设计OOD:对类进行具体的设计,提出程序设计的思路和方法,包括算法。 3、面向对象编程OOP(选定一种语言写程序) 4、面向对象测试OOT:以类作为测试的基本单元 5、面向对象维护OOSM: OOP的特性: 抽象 封装和数据隐藏 继承,代码的可重用性 多态 现实中对象 类型 抽象 对象 类类型 定义 8.2 类的声明和对象的定义 一、类和对象的关系 类是对象的抽象 类类型是一种自定义的数据类型。 用户要先提供类的声明和实现,然后才能使用。 对象是类的具体实例。某对象是某类类型的一个对象

文档评论(0)

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

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

1亿VIP精品文档

相关文档