第6章 面向对象程序设计基础

第6章 面向对象程序设计基础

ID:5563722

大小:514.00 KB

页数:93页

时间:2017-11-13

第6章  面向对象程序设计基础_第1页
第6章  面向对象程序设计基础_第2页
第6章  面向对象程序设计基础_第3页
第6章  面向对象程序设计基础_第4页
第6章  面向对象程序设计基础_第5页
资源描述:

《第6章 面向对象程序设计基础》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第6章面向对象程序设计基础6.1面向对象程序设计概述6.2类和对象6.3继承和派生6.4多态性与虚函数6.5C++的I/O流6.6程序举例ObjectOrientedProgramming6.1面向对象程序设计(OOP)概述面向对象程序设计是20世纪80年代发展起来的一种程序设计方法。它通过模拟现实世界中的事物和关系,利用抽象、分类、归纳等方法来构造软件系统,是一种更加自然直观的编程方式。1.面向对象程序设计的产生在面向对象程序设计出现之前,人们一直采用结构化程序设计(StructuredPro

2、gramming,简称SP)来解决实际问题。结构化程序设计是面向过程的,其主要思想是采用自顶向下、逐步求精的方式对复杂问题逐步分解。按照结构化程序设计的要求,当需要解决一个复杂的问题时,首先应将它按功能划分为若干个小问题,每个小问题又可以按功能划分为若干个更小的问题,依次类推,直到最低一层的问题较容易用程序实现为止;然后将所有的小问题全部解决并把它们组合起来,复杂的问题就迎刃而解了。缺点主要表现为:(1)数据和算法的一致性差。在结构化程序设计中,数据与处理数据的算法是相互分离的。当数据量增大时,

3、程序会变得越来越难理解。(2)程序的可重用性差。结构化程序设计并不支持可重用性,这就使得程序员在开发软件时每次都从零做起,重复着许多同样的工作。针对结构化程序设计在开发管理大型系统方面面临的困难,从20世纪70年代开始,程序设计人员便开始追求实现“数据抽象”的概念,经过不断地研究和改进,于1980年推出商品化的Smalltalk-80语言。这种程序设计语言引入了对象、类、方法等概念,引入了动态联编和继承机制,它标志了面向对象的编程语言已经建立了较为完整的概念和理论体系,也为解决大型软件管理、提高

4、软件可靠性、可重用性、可扩充性和可维护性提供了有效的手段和途径。随后又逐渐推出了多种面向对象的程序设计语言,C++便是其中应用最为广泛的一种。C++语言主要包括面向过程和面向对象两部分内容。在C++面向过程的结构化程序设计框架中,函数是程序中完成一定功能的模块,是程序的基本组成单元。各个函数之间通过参数、返回值和全局变量来进行数据通信。程序的主体通常由若干函数的定义构成。使用结构化程序设计方法编写出的C++程序通常包括一个主函数和若干用户定义函数。主函数由操作系统调用,它是整个程序的入口。在主函

5、数中调用其他函数,其他函数之间也可以相互调用,并且同一个函数可以被一个或多个函数调用任意多次。主函数main函数1函数2函数5函数4函数3函数调用关系示意图一般地,一个C++程序的结构化程序设计框架可以表示为:<函数1的声明><函数2的声明>……<函数n的声明><主函数main()><函数1的定义><函数2的定义><函数n的定义>在C++的面向对象的程序设计框架中,类成为程序的基本组成单元。程序的主体通常由若干类的定义构成。类可以把数据和函数封装在一起,用以描述事物的属性和对事物的操作。类与类之

6、间一方面通过封装而具有明确的独立性;另一方面又通过成员、友元、参数、继承和派生等关系,达到相互通信和联络的目的,从而形成一个有机的整体。在结构化程序设计中,除了主函数之外,所有函数之间一律“平等”,没有层次关系可言,当程序规模稍大时,就会使整体结构变得相当混乱。相反,在面向对象程序设计中,类与类之间能够按照逻辑关系组成有条理的层次结构,从而使一个复杂程序变得有“纲”可循。这正体现出面向对象思想的优越性。类1类2类3类4类5类之间层次关系示意图一般地,一个C++程序的面向对象的程序设计框架可以表示

7、为:<类1的定义><类2的定义>……<类n的定义><主函数main()><类1的成员函数定义><类2的成员函数定义>……<类n的成员函数定义>对象:对象是指现实世界中无所不在的各式各样的实体。对象由一组属性和一组行为构成。属性是用来描述对象静态特征的数据项,行为是用来描述对象动态特征的操作序列。类:类是具有共同属性和行为的一组对象的集合。共同属性被描述为类中的数据成员,共同行为被描述为类中的成员函数。它为属于该类的全部对象提供了抽象的描述。类与对象的关系犹如模具与铸件之间的关系,一个属于某类的对

8、象称为该类的一个实例。类具有封装性、隐藏性和继承性。例如:一辆汽车可以用型号、颜色、载重量、行驶速度等信息进行描述,这些都是这辆汽车的属性;而开动汽车使它前进、后退、左转、右转等,都是对汽车状态的操作。这样,全部属性和操作的集合就定义了这种汽车的类型。2.基本概念消息:向某对象请求服务的一种表达方式,是对象与外界、对象与其它对象之间联系的工具。送到一个对象的所有可能的消息在对对象的类描述中都需要定义,即对每个可能的消息给出一个相应的方法。发送消息接收并响应消息转向方法:对某对象接受消息后所采取的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。