- 1、本文档共90页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)