面向对象程序设计抽象与对象.ppt

上传人:人*** 文档编号:568658880 上传时间:2024-07-25 格式:PPT 页数:29 大小:390.50KB
返回 下载 相关 举报
面向对象程序设计抽象与对象.ppt_第1页
第1页 / 共29页
面向对象程序设计抽象与对象.ppt_第2页
第2页 / 共29页
面向对象程序设计抽象与对象.ppt_第3页
第3页 / 共29页
面向对象程序设计抽象与对象.ppt_第4页
第4页 / 共29页
面向对象程序设计抽象与对象.ppt_第5页
第5页 / 共29页
点击查看更多>>
资源描述

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

1、面向对象程序设计面向对象程序设计认识对象认识对象 内容提要内容提要n问题的抽象问题的抽象n一切事物皆是对象一切事物皆是对象n面向对象技术概述面向对象技术概述nC+C+简介简介2问题的抽象问题的抽象n以功能为中心的抽象以功能为中心的抽象(过程抽象(过程抽象) )n以对象为中心的抽象以对象为中心的抽象(数据抽象(数据抽象) )3问题的抽象问题的抽象n以功能为中心的抽象以功能为中心的抽象n以功能为中心的抽象就是用功能的观点来看世界,将现实世以功能为中心的抽象就是用功能的观点来看世界,将现实世界的问题抽象为功能和子功能。界的问题抽象为功能和子功能。n以功能抽象为基础的结构化程序设计,围绕实现以功能抽象

2、为基础的结构化程序设计,围绕实现“面向过程面向过程”的功能来构造系统。其基本原理是采用的功能来构造系统。其基本原理是采用自顶向下、分而治自顶向下、分而治之、逐步求精之、逐步求精的原则,将所要解决的问题按功能分解成许多的原则,将所要解决的问题按功能分解成许多的子问题,这些子问题可以继续分解,直到分解为一些易于的子问题,这些子问题可以继续分解,直到分解为一些易于控制且功能独立的模块为止。控制且功能独立的模块为止。4问题的抽象问题的抽象n以功能为中心的抽象以功能为中心的抽象n用功能抽象的方法构建系统的结构图如图用功能抽象的方法构建系统的结构图如图1-11-1所示。所示。5问题的抽象问题的抽象n面向过

3、程程序设计面向过程程序设计n一种以功能为中心、基于功能分解的程序设计范型。一种以功能为中心、基于功能分解的程序设计范型。n一个过程式程序由一些子程序构成,子程序描述了一系列的一个过程式程序由一些子程序构成,子程序描述了一系列的操作,每个子程序对应一个子功能,它实现了功能抽象。操作,每个子程序对应一个子功能,它实现了功能抽象。n过程式程序的执行过程体现为一系列的子程序调用。数据处过程式程序的执行过程体现为一系列的子程序调用。数据处于附属地位,它独立于子程序,在子程序调用时作为参数或于附属地位,它独立于子程序,在子程序调用时作为参数或全局变量传给子程序使用。全局变量传给子程序使用。n程序程序 =

4、= 函数函数/ /算法算法 + + 数据结构数据结构6面向过程程序设计的典型结构面向过程程序设计的典型结构7面向过程程序设计中数据和函数的关系面向过程程序设计中数据和函数的关系8问题的抽象问题的抽象n面向过程程序设计特点面向过程程序设计特点n强调功能(算法)实现强调功能(算法)实现n大程序分解成函数等小模块大程序分解成函数等小模块n大多数函数共享全局数据大多数函数共享全局数据n系统中数据可在函数间公开传递系统中数据可在函数间公开传递n函数加工处理数据,使其形式发生变化函数加工处理数据,使其形式发生变化n程序设计依据自顶向下原则程序设计依据自顶向下原则9问题的抽象问题的抽象n以对象为中心的抽象以

5、对象为中心的抽象n以以对对象象为为中中心心的的抽抽象象是是用用对对象象的的观观点点看看世世界界。将将现现实实世世界界的的问题抽象为离散的、相互通信的对象集合。问题抽象为离散的、相互通信的对象集合。n这这些些对对象象可可以以看看作作是是一一个个自自治治的的主主体体,每每个个对对象象都都有有其其静静态态属属性性和和动动态态行行为为,而而且且每每一一个个对对象象都都是是模模拟拟了了真真实实世世界界中中的的某某个个对对象象。在在这这里里,功功能能并并不不是是一一个个独独立立的的存存在在,而而是是一一个个包包含含在在对对象象内内部部的的相相关关操操作作。为为完完成成一一个个特特定定的的任任务务,对对象象

6、之间通过发送消息完成相应的功能。之间通过发送消息完成相应的功能。10问题的抽象问题的抽象n以对象为中心的抽象以对象为中心的抽象11问题的抽象问题的抽象n面向对象程序设计面向对象程序设计n一种以对象为中心、以消息驱动对象执行相应操作的程序设一种以对象为中心、以消息驱动对象执行相应操作的程序设计范型。计范型。n一个面向对象程序由一些对象构成,对象封装了数据及可施一个面向对象程序由一些对象构成,对象封装了数据及可施于这些数据上的操作,对象间相互发送消息完成系统功能。于这些数据上的操作,对象间相互发送消息完成系统功能。n面向对象程序的执行过程体现为各个对象之间相互发送和处面向对象程序的执行过程体现为各

7、个对象之间相互发送和处理消息。理消息。n程序程序 = = 对象对象/ /类类 + + 对象对象/ /类类+ + 对象对象/ /类类 = = 数据数据(属性)(属性) + + 函数(函数(操作操作)12面向对象程序设计中数据和函数的组织结构面向对象程序设计中数据和函数的组织结构13问题的抽象问题的抽象n面向对象程序设计特点面向对象程序设计特点n更关注数据,而不是过程更关注数据,而不是过程n程序分解成实体对象程序分解成实体对象n设计数据结构表示对象设计数据结构表示对象n数据被隐藏在对象中,不可由外部函数访问数据被隐藏在对象中,不可由外部函数访问n作用于对象的函数也放于对象中作用于对象的函数也放于对

8、象中n对象间通过发送消息(函数调用)通信对象间通过发送消息(函数调用)通信n程序设计依据自底向上原则程序设计依据自底向上原则14一切事物皆是对象一切事物皆是对象n对象对象n类类n属性、操作、方法属性、操作、方法n消息消息15一切事物皆是对象一切事物皆是对象n对象对象n对象的定义:对象对象的定义:对象(object)(object)是问题域中一些事物的是问题域中一些事物的抽象,是一些属性、操作和方法的封装体,它具有抽象,是一些属性、操作和方法的封装体,它具有唯一标识。唯一标识。n一个对象至少包括以下几个部分:一个对象至少包括以下几个部分:n 有一个和其它对象区分开来的唯一性标识;有一个和其它对象

9、区分开来的唯一性标识;n 有一组属性描述对象静态特征;有一组属性描述对象静态特征;n 有一组功能表达对象动态行为。有一组功能表达对象动态行为。16一切事物皆是对象一切事物皆是对象 一部移动电话,它是现实世界中的一个实体。它由一部移动电话,它是现实世界中的一个实体。它由天线、发射部件、接收部件、显示屏、按键、专用天线、发射部件、接收部件、显示屏、按键、专用集成电路芯片及外壳组成;它有着其实在的功能,集成电路芯片及外壳组成;它有着其实在的功能,可以打电话,可以发短消息,可以存储、输入和编可以打电话,可以发短消息,可以存储、输入和编辑各种个人信息,甚至可以上网。这样一个实体可辑各种个人信息,甚至可以

10、上网。这样一个实体可以在计算机世界中映射为一个计算机可以理解、可以在计算机世界中映射为一个计算机可以理解、可以操纵、具有前面所叙述的属性和操作的对象。以操纵、具有前面所叙述的属性和操作的对象。17一切事物皆是对象一切事物皆是对象 一辆自行车,它由车架、车轮、脚踏和传动机构、一辆自行车,它由车架、车轮、脚踏和传动机构、变速机构等组成,它具有代步功能,它可以进行变变速机构等组成,它具有代步功能,它可以进行变速骑行,刹车,特别要强调的是它有一些特征可以速骑行,刹车,特别要强调的是它有一些特征可以把你的这辆自行车与其他自行车区分开来,其中最把你的这辆自行车与其他自行车区分开来,其中最重要的是钢印号。这

11、些都可以在面向对象的程序中重要的是钢印号。这些都可以在面向对象的程序中用对象及其属性和操作模拟出来。用对象及其属性和操作模拟出来。18一切事物皆是对象一切事物皆是对象学生:张三学生:张三 对象标识:对象名对象标识:对象名student_1student_1 对象属性:对象属性: name= name= 张三张三 number=00123456number=00123456 age = 20age = 20 major=Physicsmajor=Physics . 对象操作:对象操作: SelectClass(class_mathSelectClass(class_math);); .19一切事

12、物皆是对象一切事物皆是对象n对象对象n对象之间是通过对象之间是通过消息(消息(messagemessage)互相进行通信的。互相进行通信的。消息是从一个对象(发送者)向另一个或几个其他对消息是从一个对象(发送者)向另一个或几个其他对象(接收者)发送信号,或由一个对象(发送者或调象(接收者)发送信号,或由一个对象(发送者或调用者)用者)调用调用另一个对象(接收者)的操作。另一个对象(接收者)的操作。n对象在通信时,无须知道对方数据或操作的细节,只对象在通信时,无须知道对方数据或操作的细节,只要知道交互的消息类型就够了。要知道交互的消息类型就够了。20一切事物皆是对象一切事物皆是对象n对象对象n对

13、象是有生命的,每个对象都有自己的生命周期,即从出生对象是有生命的,每个对象都有自己的生命周期,即从出生(创建)、生长(活动)到灭亡(删除)。(创建)、生长(活动)到灭亡(删除)。n在计算机中,在计算机中,对象的创建对象的创建是指在计算机内存的程序数据区中是指在计算机内存的程序数据区中为该对象分配一个空间;为该对象分配一个空间;对象的活动对象的活动是指对象能自主地运行,是指对象能自主地运行,并且可以接收消息并加以处理,或通过处理外来消息改变自并且可以接收消息并加以处理,或通过处理外来消息改变自身状态,对象也可以向其它对象发送消息等;身状态,对象也可以向其它对象发送消息等;对象的删除对象的删除是是

14、指当对象的使命完成后,可以在存储器中将其占用的存储空指当对象的使命完成后,可以在存储器中将其占用的存储空间置为无效并回收。间置为无效并回收。 21一切事物皆是对象一切事物皆是对象n类类n类的定义:一组具有共同的静态特征和行为特征的对类的定义:一组具有共同的静态特征和行为特征的对象集合。象集合。n类和对象是抽象和具体的关系。类和对象是抽象和具体的关系。n从实现角度,类是某种数据类型,对象是该类型的变从实现角度,类是某种数据类型,对象是该类型的变量,一旦定义了一个类,就可以创建该类的任何数量量,一旦定义了一个类,就可以创建该类的任何数量的对象。的对象。n每一个对象都对应于一个类。每一个对象都对应于

15、一个类。22一切事物皆是对象一切事物皆是对象n类类n对于同一类的不同对象之间,具有如下特点:对于同一类的不同对象之间,具有如下特点:n 相同的属性;相同的属性;n 相同的操作和方法;相同的操作和方法;n 不同的对象名;不同的对象名;n 不同的属性值(对于那些可以改变的属性)不同的属性值(对于那些可以改变的属性) 23学生学生学号学号姓名姓名年龄年龄性别性别身高身高体重体重选课选课唱歌唱歌打篮球打篮球学生学生1 120100012010001李强李强1919男男1751756565选课选课唱歌唱歌打篮球打篮球学生学生2 220100262010026张芳张芳1919女女1681685050选课选

16、课唱歌唱歌打篮球打篮球24一切事物皆是对象一切事物皆是对象n属性、操作、方法属性、操作、方法n1.1.属性属性n属性属性(attribute)(attribute)是类和对象中的静态特征。在面是类和对象中的静态特征。在面向对象程序中用一个数据单元表示属性。属性可向对象程序中用一个数据单元表示属性。属性可以用属性名、类型、可修改性、多重性、可见性以用属性名、类型、可修改性、多重性、可见性进行描述,属性可以有初始值。对于可修改的属进行描述,属性可以有初始值。对于可修改的属性,可以改变其属性值。性,可以改变其属性值。25一切事物皆是对象一切事物皆是对象n属性、操作、方法属性、操作、方法n2.2.操作

17、操作n操作操作(operation)(operation)是对象执行某种功能的规格说明。是对象执行某种功能的规格说明。例如,窗口类具有例如,窗口类具有“打开打开”、“关闭关闭”、“移动移动”、“隐藏隐藏”等操作。窗口类中的各对象可以共等操作。窗口类中的各对象可以共享这些操作。在面向对象程序中通常是用一个函享这些操作。在面向对象程序中通常是用一个函数或过程的原型(声明)表示操作。操作在类中数或过程的原型(声明)表示操作。操作在类中声明声明, ,它可以用操作名、参数列表、返回值类型、它可以用操作名、参数列表、返回值类型、可见性等来描述。可见性等来描述。26一切事物皆是对象一切事物皆是对象n属性、操

18、作、方法属性、操作、方法n3.3.方法方法n方法方法(method)(method)是操作的实现,是说明生成操作结是操作的实现,是说明生成操作结果的算法或过程。如果一个操作有方法实现,这果的算法或过程。如果一个操作有方法实现,这种操作称为具体操作;否则,称为抽象操作。在种操作称为具体操作;否则,称为抽象操作。在面向对象程序中通常是用一个函数或过程的定义面向对象程序中通常是用一个函数或过程的定义(函数体或过程体)表示方法。(函数体或过程体)表示方法。27一切事物皆是对象一切事物皆是对象n消息消息n消息消息(message)(message)是从一个对象(发送者)到另一个对象(接收是从一个对象(发

19、送者)到另一个对象(接收者)的信息传递。例如,消息可以是一个对象者)的信息传递。例如,消息可以是一个对象( (调用者调用者) )对一对一个对象个对象( (被调用者被调用者) )操作的调用。被调用者接收到调用者传递操作的调用。被调用者接收到调用者传递过来的消息时,激活相应的方法(操作的实现)。方法中的过来的消息时,激活相应的方法(操作的实现)。方法中的过程执行完后,调用者收回控制,并可以得到方法处理的结过程执行完后,调用者收回控制,并可以得到方法处理的结果。面向对象的程序在完成一个特定的任务时,需要多个对果。面向对象的程序在完成一个特定的任务时,需要多个对象之间相互协作,这时就会产生针对这个任务

20、的一组特定的象之间相互协作,这时就会产生针对这个任务的一组特定的消息,即消息序列或消息流。消息,即消息序列或消息流。 28一切事物皆是对象一切事物皆是对象n消息消息n消息传递是对象之间相互联系的唯一途径。消息传递是对象之间相互联系的唯一途径。n发送者发送消息,消息中只需要包括消息的接收者和要求接发送者发送消息,消息中只需要包括消息的接收者和要求接收者执行哪项操作的请求,并不说明应该怎样做。收者执行哪项操作的请求,并不说明应该怎样做。n接收者收到消息,通过调用相应的方法,执行具体的操作过接收者收到消息,通过调用相应的方法,执行具体的操作过程,来响应消息。程,来响应消息。n上述过程不断地重复。上述过程不断地重复。n面向对象程序是消息驱动的。面向对象程序是消息驱动的。 29

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

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