面向对象概述71692.ppt

上传人:bao****ty 文档编号:144343942 上传时间:2020-09-07 格式:PPT 页数:29 大小:326.50KB
返回 下载 相关 举报
面向对象概述71692.ppt_第1页
第1页 / 共29页
面向对象概述71692.ppt_第2页
第2页 / 共29页
面向对象概述71692.ppt_第3页
第3页 / 共29页
面向对象概述71692.ppt_第4页
第4页 / 共29页
面向对象概述71692.ppt_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《面向对象概述71692.ppt》由会员分享,可在线阅读,更多相关《面向对象概述71692.ppt(29页珍藏版)》请在金锄头文库上搜索。

1、第6章面向对象概述,1.面向对象概念 2.面向对象特征,学习方法,多练习,掌握基本概念,多读程序,学习编程方法与技巧,多上机实践,加强动手能力,多剖析范例,积累编程经验,教材及参考书目,教材 C+语言基础教程吕凤翥著清华大学出版社1999,C+语言及其程序设计教程(修订版)张国峰编著电子工业出版社1997,C+语言程序设计郑莉等编著清华大学出版社1999,内容简介,面向对象的基本思想,面向对象特征,类与对象,继承与派生,多态性与虚函数,6.1.1面向对象的由来和发展,机器语言(二进制码),汇编语言,20世纪50年代中期,FORTRAN语言,20世纪50年代中期,Algol语言,在计算机语言发展

2、史上具有划时代的意义,引入了许多程序设计概念。如变量、数组、循环、分支等。,提出块(BeginEnd)思想,对数据进行保护,是一种初级封装。,6.1.1面向对象的由来和发展(续),20世纪60年代中期,Simula 67语言,面向对象语言的鼻祖,提出了对象、类的概念,并支持类的继承。,20世纪70年代中期,Ada语言,支持数据抽象类型的最重要的语言之一,但不完全支持继承。,20世纪70年代中期,Smalltalk语言,最有影响的面向对象语言之一,丰富了面向对象的概念。,20世纪80年代中期后出现C+等多种面向对象语言,6.1.2C+的起源和特点,一、C+的起源,在C语言基础上为支持面向对象的程

3、序设计研制的一个通用目的的程序设计语言;,由AT int wdcount,chcount; wdcount=1; chcount=0; printf(*:Please input any phrasen); while(ch=getche()!=r) chcount+;,6.2.1面向过程与面向对象程序设计(续),if(ch= ) wdcount+; printf(n*:The number of word is %dn,wdcount); printf(n*:The number of char is %dn,chcount); ,面向对象的方法,#include #include clas

4、s count public:,6.2.1面向过程与面向对象程序设计(续),count(); void process(); void display(); private: int wdcount,chcount; ; count:count() wdcount=1; chcount=0; void count:process() ,6.2.1面向过程与面向对象程序设计(续),char ch; cout*:Please input any phraseendl; while(ch=getche()!=r) chcount+; if(ch= ) wdcount+; coutendl; void

5、 count:display() printf(n*:The number of word is %dn,wdcount);,6.2.1面向过程与面向对象程序设计(续),printf(n*:The number of char is %dn,chcount); void main() count A; A.process(); A.display(); ,运行结果,*Please input any phrase. I am a teacher *:The number of word is 4 *:The number of char is 15,6.2.1面向过程与面向对象程序设计(续),

6、是一种数学思维或计算机思维方法,与人们认识世界的方法不同 以不稳定的、多变的“过程”和“操作” 为中心来构造系统 可重用性较差,是建立在认识方法学基础上的一项技术科学,比较自然地模拟了人类认识客观世界的方式; 以相对稳定的“对象”和“数据结构”为中心来构造系统 可重用性较好,面向过程程序设计,面向对象程序设计,6.2.1面向过程与面向对象程序设计(续),面向过程程序设计,面向对象程序设计,P1,P2,P3,P4,P5,O1,O2,O3,O4,O5,Changing?,P6,6.2.1面向过程与面向对象程序设计(续),面向过程程序设计,面向对象程序设计,P1,P2,P3,P5,O1,O2,O3,

7、O4,O5,Changing?,P6,O4,6.2.2抽象在面向对象中的作用,一、抽象的概念,抽象代表着一个对象的本质特征,这个特征将这个对象与所有其他种类的对象区别开来;,抽象是通过从特定的实例中抽取共同的性质以形成一般化的概念的过程;,抽象具有层次;,飞机,6.2.2抽象在面向对象中的作用(续),二、面向对象抽象的原理(面向对象计算的本质),数据抽象、行为共享、进化、确定性,1、数据抽象,为程序员提供了一种对数据和为操作这些数据所需要的算法的抽象;是面向对象方法的核心,包括:,模块化:构成了面向对象计算的本质;,信息隐藏:将一个模块的细节部分对用户隐藏起来,用户只能通过一个受保护的接口来访

8、问某个模块,而不能直接访问一个模块内部的细节;,类,公有成员,6.2.2抽象在面向对象中的作用(续),2、行为共享,行为是由实体的外部接口定义的,行为共享指许多实体具有相同的接口,可增加系统的灵活性;,支持行为共享的方式,分类与层次分类,多态与继承,对象,公有成员函数名,6.2.2抽象在面向对象中的作用(续),3、进化,需求进化(虚函数),进化式的问题求解(继承的构造函数),4、确定性,确保每个行为项都有一个正确的解释,系统不会因不能响应某一行为而失败;,确定性与类型的正确性有关;,6.2.3面向对象计算的基本特征,面向对象系统的三要素:对象、类和继承;,一、对象,1、概念上,对象是代表着正在

9、创建的系统中的一个实体;,2、实现形式上,对象是一个状态和操作(或方法)的封装体;,3、对象的定义,状态:对象的状态由这个对象的属性和这些属性的当前值决定。属性是静态的,当前值是动态的;,一个对象具有状态、行为和标识。,6.2.3面向对象计算的基本特征(续),行为:一个对象如何以状态变化和消息传递的形式进行作用和对外界进行反应。,一个对象的行为代表了这个对象的外部可见的和可测试的活动;,一个对象的状态代表着它的行为的累积结果;,标识:标识是一个对象固有的一种特性,该特性将这个对象与其他对象区别开来;,对象1,6.2.3面向对象计算的基本特征(续),4、对象的分类,实体对象,界面对象,控制对象,

10、按作用分类,存储信息的对象,支持系统的主要功能,5、对象的确认,发明对象:主要是控制对象;,发现对象:主要是实体对象或界面对象;,二、类,1、什么是类,6.2.3面向对象计算的基本特征(续),类是创建对象的样板,它包含着所创建对象的状态描述和方法的定义。类的完整描述包含了外部接口和内部算法以及数据结构的形式;,2、类是对象的抽象及描述,类中包含生成对象的具体方法,由一个类所创建的对象称为该类的实例;,3、类是抽象数据类型的实现,类是所有对象的共同的行为和不同的状态的集合体;,三、继承,继承提供了创建新类的一种方法,它的本质特征是行为共享;,6.2.3面向对象计算的基本特征(续),6.3.1C+

11、语言中的抽象支持,控制抽象:用于排列任意动作的顺序的一种方法;,三种语句控制结构:顺序、循环、分支,过程抽象(面向过程):对一组输入数据的一个计算动作和产生的输出结果;,数据抽象(面向对象):类是实现抽象数据类型的工具;,6.3.2C+对面向对象程序设计方法的支持,C+支持数据封装(数据抽象),C+中,类是支持数据封装的工具,对象则是数据封装的实现;,C+中包含有私有、公有和保护成员,每个可能的消息对应一个相应的方法,方法通过函数来定义;,C+中通过发送消息来处理对象,C+中允许友元破坏封装性,C+中允许函数名和运算符重载,C+支持继承性,C+支持动态联编,6.3.3C+对C语言的改进,增加了新的运算符::,new,delete等;,改进了类型系统,增加了安全性;,引进了引用概念;,允许函数重载,允许设置缺省参数,提高了编程的灵活性;,引进了内联函数,提高了程序的效率;,可以根据需要随时对变量进行说明;,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号