5章面向对象程序设计.pdf

  1. 1、本文档共90页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5章面向对象程序设计.pdf

第五章 面向对象程序设计 5.1 面向对象的思想和方法 5.2 面向对象程序计语 5.3 类、对象与封装 5.4 函数重载 5.5 类的定义和对象说明 5.6 继承和派生类 5.7 运算符重载 5.8 类模板和函数模板 5.9 面向对象软件开发方法 习题与思考 第五章 面向对象程序设计 第五章 面向对象程序设计 本章首先简要介绍面向对象方法的基本思想、概念、原则以 及面向对象程序设计的方法,然后以面向对象的主要特征为主 线,通过实例循序渐进地说明面向对象程序设计语言C++的基本 特征。其目的在于使读者了解面向对象程序设计的基本思想和概 念,初步掌握使用C++实现面向对象软件开发的基本方法。 5.1 面向对象的思想和方法 客观世界中任何一个事物都可以看成一个对象,客观世界是 由各种各样的对象组成的,它们之间存在一定的联系。软件开发 是对问题求解的过程。从认识论的角度看,整个软件开发过程可 以归结为两项主要活动,即人们对所要解决的问题及其相关事物 的认识和基于这种认识所进行的描述。 所谓“认识” ,是在所要处理的问题域范围内,通过人的思维对该问题域 中客观存在的事物以及对所要解决的问题产生正确的认识和理解, 包括弄清事物的特征、行为及彼此之间的关系,并找出解决问题的方法。所 谓“描述” ,是用一种语言把人们对问题域中事物的认识、对问题及其解决方 法的认识描述出来,最终的描述必须使用一种计算机能够识别的语言——编 程语言。 概括地说,面向对象是把一组相互无联系的对象有效地集成在一起。它 的基本思想,是从客观存在的事物(即对象)出发,来构造软件系统,并在 系统构造中尽可能运用人类的自然思维方式。这可以使系统直接地映射问题 域,保持问题域中事物及其相互关系的本来面貌。面向对象方法是以对象为 中心的开发方法。它强调直接以问题域(客观世界)中的事物为中心来思考 问题,认识问题,并根据这些事物的本质特征,把它们抽象地表示为系统中 的对象,作为系统的基本单位。面向对象方法更强调运用人类在日常的逻辑 思维中采用的思想方法和原则,例如抽象、分类、继承、聚合、封装等,这 使得软件开发者能更有效地思考问题,并以其他人也能看得懂的方式把自己 的认识表达出来。面向对象方法的主要特点可概括如下: (1) 从问题域中客观存在的事物出发来构造软件系统,用对象 作为对这些事物的抽象表示,并把对象作为系统的基本构成单位。 (2) 一个对象包含两个特征:静态特征(可用一些数据来表示 的特征),例如学生对象的姓名、性别、身高等,用对象的属性表 示;动态特征(即对象的行为),例如学生对象进行的活动、上课 等,用对象的服务或操作表示。 (3) 对象是数据和有关操作的封装体,它突破了传统的数据与 操作分离的模式,较好地实现了数据的抽象。 (4) 对事物分类,把具有相同属性和服务的对象归为一类,类 是这些对象的抽象描述。 (5) 运用抽象的原则,从而得到一般类和特殊类。特殊类继承 一般类的属性和服务。面向对象方法的继承性体现了概念分离抽 象,便于软件演化后的扩充。 (6) 复杂的对象可以用简单的对象作为其构成部分 (称作聚合)。 (7) 对象通过其对外提供的服务来完成自己的任务。 在OO方法中,把向对象发出的服务请求称为消息。当有其 它对象请求该对象执行某一服务时,即响应这一请求,从 而完成指定的服务。因此,对象之间通过消息进行通信, 以实现对象之间的动态联系。面向对象方法用消息将对象 动态链接在一起,以便在概念上体现并行性和分布式结 构。 因此,面向对象方法是一种运用对象、类、继承、封 装、聚合、消息传送等概念来构造系统的软件开发方法。 5.2 面向对象程序设计语言 程序设计语言是表达软件的工具,是人机交互的媒介。随着软 件技术的发展,程序设计语言快速发展。60-70年代兴起的结构化 程序设计,希望以规范的软件结构消除复杂软件内部的混乱,解决 “软件危机”的问题。但是随着硬件的发展,软件规模逐步扩大,结 构化程序设计在解决“软件危机” 问题上也显得“力不从心”。因此, 在90年代初,以Smalltalk

文档评论(0)

feiyang66 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档