第1章面向对象程序设计概述.ppt
《第1章面向对象程序设计概述.ppt》由会员分享,可在线阅读,更多相关《第1章面向对象程序设计概述.ppt(37页珍藏版)》请在三一文库上搜索。
1、面向对象程序设计概述,Object Oriented Programming,简称OOP 主讲:颜源,准备知识面向过程,面向对象,面向过程,面向对象,面向过程方法:,这种方法认为我们的世界是由一个个相互关联的小系统组成的。每个小系统都有着明确的开始和明确的结束,开始和结束之间有着严谨的因果关系。 只要我们将这个小系统中每一个步骤和影响这个小系统走向的所有因素都分析出来,我们就能完全定义这个系统的行为。,面向过程方法的瓶颈:,面向过程的困难,本质上是因为它将世界看作是过程化的,一个个紧密相连的小系统,构成这个系统的各个部分之间有着密不可分的因果关系。 这种分析方法在需求复杂度较低的时候非常管用,
2、如同一台照相机,将物体的反光镜头传导到感光胶片,再经过冲洗就能将信息复制出来。 然而构成一个大型系统的因素太多,要把所有可能因素,所有因素间的因果关系都分析清楚,再将这个过程模拟出来太困难了。,我们的精力有限,计算机能力有限,只能放弃对整个过程的了解,重新寻找一个方法,能够将复杂的系统转化为一个个我们可以控制的小单元。 这个方法的转换正如:如果一次成型一辆汽车太过困难,我们可以将汽车分解为很多零件,分步制造,再依据预先设计好的接口把它们安装起来,形成最终的产品。,面向对象方法:,面向对象方法将世界看作一个个相互独立的对象,相互之间并无因果关系。只有在某个外部力量驱动下,对象之间才会依据某种规律
3、相互传递信息。这些交互构成了这个生动世界的一个“过程”。在没有外力的情况下,对象则保持着“静止”的状态。,如上图,汽车不再被看作一个一次成型的整体,而是被分解成了许多标准的功能部件来分步设计制造。 当对象们被按规则组合起来以后,就能表达预期的功能。其实世界世界就是这样组成的。平时看上去每个对象都互无关系,然而当它们按图示规则组织起来之后,踩下刹车,汽车便乖乖停住了。,面向对象与面向过程根本区别:,不再把世界看作是一个紧密关联的系统,而是看成一些相互独立的小零件,这些零件依据某种规则组织起来,完成一个特定的功能。 “过程”通过特定规则组织起来的一些对象“表现”出来的。面向对象和面向过程的这个差别
4、导致了整个分析设计方法的革命。 分析设计从过程分析变成了对象获取,从数据结构变成了对象结构。,课程内容,程序设计方法 OOP的基本概念 对象与类 数据的抽象和封装 继承性 多态性 消息和方法,程序设计方法,结构化程序设计(C、PASCAL、Ada) Structured Programming,SP 是面向过程的程序设计 功能分解,逐步求精 可重用性极差 面向对象程序设计(C+、JAVA语言、Smalltalk语言等) Object Oriented Programming,OOP 把信息和对这些信息的处理作为一个整体 特点 抽象性、封装性、继承性、多态性,结构化程序设计,传统的程序设计方法可
5、以归结为“程序=算法+数据结构”,将程序定义为处理数据的一系列过程。这种设计方法的着眼点是面向过程的,特点是将数据与程序分开存储,即数据与数据处理分离。 结构化程序设计的基本思想是采用自顶向下、逐步细化的设计方法和单入单出的控制结构。 程序主要特征是,程序由过程的定义和过程的调用组成,即程序=过程+调用,面向过程程序的结构特点,实例,要求读入一组整数,统计其中正整数和负整数的个数 该任务的模块结构及细化过程如下,正数和负数的个数为0,取第一个整数,2.1如数大于0,正数个数加1 2.2如数小于0,负数个数加1 2.3取下一个整数,重复 至统 计完,结构化程序设计的总结,为复杂问题处理提供很好的
6、手段,但到80年代末,这种设计方法逐渐暴露出以下缺陷: (1)但是难用于开发大型软件 (2)可维护性差,可重用性差,面向对象程序设计的特点,将数据和对数据的操作方法放在一起 形成一个独立的整体,对象(Object) 从同类对象中抽象出共性 形成类(Class) 一个类中的数据通常只能由本类提供的方法进行处理 这些方法成为该类与外部的接口 对象之间通过消息(message)进行通讯(消息传递调用函数),调节旋钮,对 象,对象的定义,现实世界中的一个实体,可以是 有形的具体的事物,无形的抽象的事件 对象的特性 每个对象都有一个名字,以同其它对象区别 对象的特征(状态)用属性来描述 对象有一组操作
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 程序设计 概述
链接地址:https://www.31doc.com/p-2576892.html