最新引言--面向对象程序设计概述PPT课件.ppt
《最新引言--面向对象程序设计概述PPT课件.ppt》由会员分享,可在线阅读,更多相关《最新引言--面向对象程序设计概述PPT课件.ppt(49页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、引言面向对象程序设计引言面向对象程序设计概述概述主要内容n面向对象程序设计概述n类和对象n构造函数与析构函数n继承和派生类n类的其他特性n运算符重载n输入输出流pp优点:优点:优点:优点:vv自自自自顶顶顶顶向向向向下下下下、逐逐逐逐步步步步求求求求精精精精的的的的结结结结构构构构化化化化设设设设计计计计原原原原则则则则,该该该该设设设设计计计计方方方方法法法法力力力力求算法描述准确;求算法描述准确;求算法描述准确;求算法描述准确;vv对每一子过程模块容易进行程序正确性证明。对每一子过程模块容易进行程序正确性证明。对每一子过程模块容易进行程序正确性证明。对每一子过程模块容易进行程序正确性证明。
2、pp缺点:缺点:缺点:缺点:vv该该该该设设设设计计计计方方方方法法法法本本本本质质质质是是是是面面面面向向向向“过过过过程程程程”的的的的,而而而而“过过过过程程程程”又又又又是是是是不稳定和多变的,因此不能直接反映人求解问题的思路;不稳定和多变的,因此不能直接反映人求解问题的思路;不稳定和多变的,因此不能直接反映人求解问题的思路;不稳定和多变的,因此不能直接反映人求解问题的思路;vv数数数数据据据据与与与与操操操操作作作作的的的的分分分分离离离离,容容容容易易易易产产产产生生生生数数数数据据据据的的的的失失失失配配配配操操操操作作作作、不不不不易易易易提提提提高程序的重用性、维护和扩展困难
3、。高程序的重用性、维护和扩展困难。高程序的重用性、维护和扩展困难。高程序的重用性、维护和扩展困难。vv程序代码可重用性差;程序代码可重用性差;程序代码可重用性差;程序代码可重用性差;vv维护程序的一致性困难。维护程序的一致性困难。维护程序的一致性困难。维护程序的一致性困难。面向过程程序设计的特点面向过程程序设计的特点n面向对象程序设计面向对象程序设计(Object Oriented Programming)吸取结构化程序设计的一切优点,又考虑了所模拟的现实世界与程序解空间的直接映射关系;采用数据抽象和信息隐藏技术使得数据和(施加于数据的)操作成为不可分割的整体;程序由类定义、类实例(对象)和对
4、象之间的动态联系组成;程序的重用性好、易于维护和扩展较好地解决了软件复杂性控制和生产率的提高。面向对象面向对象VS.面向过程程序设计面向过程程序设计用面向对象的设计方法实现前例的功能:class student/类定义/属性char name10;long num;int age;char sex;/方法public:void enroll().;friend ostream&operator(ostream&out,student stud).;.;class teacher/类定义/属性char name10;double salary;int age;char sex;/方法public
5、:void raise().;friend ostream&operator(ostream&out,teacher teach).;.;main()./类实例 对象student Zhang;teacher Li;/对象方法调用Zhang.enroll();Li.raise();cout Zhang;cout Li;.面向对象程序设计的方法p建立模型模型是对事物特征和变化规律的一种抽象,是对客体认识的深化。被模拟的系统:感性具体针对问题的概念抽象模拟系统:实体(对象)映射映射建模实现的概念(类)抽象思维抽象知性思维思维具体具体思维面向对象程序设计语言nSimula引入了数据抽象概念以及类和继
6、承机制。Ada,Modula-2 等语言在它的基础上发展起来。nSmalltalk第一个真正的面向对象的程序设计语言。该语言引入和完善了类、方法、实例等概念,应用了继承和动态链接机制,是一种完全面向对象的程序设计语言。面向对象程序设计语言nLISP 语言家族是一种以表处理表达为特色的人工智能程序设计语言。70 年代以来,在 LISP 的基础上开发出许多 LISP 家族的面向对象程序设计语言,例如:nFlavorsnLOOPS(Lisp Object Oriented Programming System)nCommonLOOPSnCommonObjectsnCLOS(Common Lisp O
7、bject System)面向对象程序设计语言nC+C+是在 C 程序设计语言的基础上进行扩充,增加了相应的面向对象机制的混合型面向对象的程序设计语言。由于 C+既具有完备的面向对象机制,又保持了 C 的灵活高效和对 C 程序的兼容性,是目前使用最广泛的面向对象程序设计语言之一。常用的 C+语言版本有:nMS-C+、Turbo C+、Boland C+、Visual C+和GCC 等。面向对象程序设计语言nJava由 Sun Microsystems 公司开发的一种完全面向对象的程序设计语言。Java 编译器生成的是一种称为“字节码”的中间码文件,该文件的执行是由运行在不同计算机平台上的 Ja
8、va 虚拟机 JVM(Java Virtual Machine)完成的,所以 Java 语言非常适合网络编程,实现程序的跨平台、跨介质运行的需要。面向对象程序设计语言nC#C#是由 Microsoft 公司近年来开发一种直接用于在 Microsoft Net 平台上更易于编译产生网络程序(字节码程序)的面向对象程序设计语言。该语言具有 Java 程序的跨介质运行机制,在一定程度上保持了 C 的风格和高效率,并融入了 VB 语言开发程序的友好性和方便性,但目前还不能实现跨平台运行二、面向对象程序设计的基本概念n对象(object)n消息(message)n类(class)对象 对象的定义在客观世
9、界中,对象是任何可以感觉到的事物。对象可以是自然事物(人、动物、植物等),组织结构(学校、院系、班级等),(人类的)物质产品(房屋、汽车、计算机等)和信息产品(文章、乐曲、规则、计划等)等。对象可小可大,可简单可复杂;复杂对象可以由简单对象构成。无论对象的类型、大小、复杂程度多么不同,都具有共同的特性:对象 对象的定义无论对象的类型、大小、复杂程度多么不同,都具有共同的特性:有一个特定的名字以区别于其他对象;有一组属性,用来描述对象的静态特性;有一组行为,用来描述对象的动态特性;对象的操作可分为两类:n对内提供自身服务的行为n对外为其他对象提供服务的行为。对象(2)对象的状态p在客观世界中,对
10、象的状态是同类型的不同实例独立存在的依据,也是这些对象的行为表现差异的基础。p在面向对象的软件中,对象的状态是同类对象属性的静态类型和这些属性的动态值的总和。一个对象一旦创建,由静态类型所描述的属性存储区域就被分配确定,描述不同对象差异的属性动态值可以在对象创建的同时被确定,并由对象的相应行为修改。对象(3)对象的特性n模块独立性:对象的行为仅由对象本身的状态确定,而对象的状态和行为的操作细节被封闭在模块内;n动态连接性:对象(模块)之间通过消息机制,实现不同对象行为的动态连接,完成确定任务;n易维护性:维护工作被最大程度地限定在对对象的状态和行为的确定规则(对象的定义类)的维护。消息(mes
11、sage)(1)消息的定义n消息是一个对象请求另一个对象执行其某种行为操作(也称为方法)的规格说明。这种规格说明总是由消息的接收者(提供方法的对象)、消息所请求的方法(方法名)和实现方法的必要参数组成的。所以在面向对象的程序中,消息通常的表示形式是:对象名.方法。消息(message)(2)消息的性质n同一对象可以接受不同形式的多个消息,并产生不同的响应;n相同形式的消息可以发送给不同接收对象,所获得的响应可以截然不同;n消息的发送者可以不必考虑消息接收者是否会响应消息,消息接收者对消息的响应并不是必须的。消息(message)(3)消息的响应n接收消息的对象的状态和消息所请求的方法决定了消息
12、的响应。消息响应所引起的操作主要包括四种:返回对象的状态;修改对象的状态;完成特定的操作;改变系统的某些状态。消息(message)(4)消息序列n与现实世界中一样,在面向对象软件的运行中一个任务所涉及的操作总会有多个对象的参与和多次按顺序相互作用才能完成,使得这些对象能够按任务要求的顺序相互通讯的消息组成的序列被称为消息序列。类(class)(1)类的定义n在客观世界中,类是对一组具有共同特性(属性和行为)的客观事物的抽象概念。n在面向对象的软件中,类是由程序员自定义的具有特定数据结构和建立数据结构上的操作功能的抽象数据类型。类(class)(2)类与对象的关系n类是创建对象的模板,提供了对
13、象的构造规则。n对象是类的实例,按类提供的规则构造的数据。n同一类的不同实例(对象)必须具有:相同的操作集合;相同的静态属性集合;不同的对象名和属性动态值vv在在在在C+C+中,就是用类来描述对象的,类是对现实世界的抽中,就是用类来描述对象的,类是对现实世界的抽中,就是用类来描述对象的,类是对现实世界的抽中,就是用类来描述对象的,类是对现实世界的抽象得到的。例如,在真实世界中,同是人类的张三和李四,象得到的。例如,在真实世界中,同是人类的张三和李四,象得到的。例如,在真实世界中,同是人类的张三和李四,象得到的。例如,在真实世界中,同是人类的张三和李四,有许多共同点,但肯定也有许多不同点。当用有
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 引言 面向 对象 程序设计 概述 PPT 课件
限制150内