面向对象程序设计01-2.抽象与对象.ppt_第1页
面向对象程序设计01-2.抽象与对象.ppt_第2页
面向对象程序设计01-2.抽象与对象.ppt_第3页
面向对象程序设计01-2.抽象与对象.ppt_第4页
面向对象程序设计01-2.抽象与对象.ppt_第5页
已阅读5页,还剩24页未读 继续免费阅读

VIP免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

面向对象程序设计 认识对象 1 内容提要 n问题的抽象 n一切事物皆是对象 n面向对象技术概述 nC+简介 2 问题的抽象 n以功能为中心的抽象(过程抽象) n以对象为中心的抽象(数据抽象) 3 问题的抽象 n以功能为中心的抽象 n以功能为中心的抽象就是用功能的观点来看世界,将现实世 界的问题抽象为功能和子功能。 n以功能抽象为基础的结构化程序设计,围绕实现“面向过程 ”的功能来构造系统。其基本原理是采用自顶向下、分而治 之、逐步求精的原则,将所要解决的问题按功能分解成许多 的子问题,这些子问题可以继续分解,直到分解为一些易于 控制且功能独立的模块为止。 4 问题的抽象 n以功能为中心的抽象 n用功能抽象的方法构建系统的结构图如图1-1所示。 5 问题的抽象 n面向过程程序设计 n一种以功能为中心、基于功能分解的程序设计范型。 n一个过程式程序由一些子程序构成,子程序描述了一系列的 操作,每个子程序对应一个子功能,它实现了功能抽象。 n过程式程序的执行过程体现为一系列的子程序调用。数据处 于附属地位,它独立于子程序,在子程序调用时作为参数或 全局变量传给子程序使用。 n程序 = 函数/算法 + 数据结构 6 面向过程程序设计的典型结构 7 面向过程程序设计中数据和函数的关系 8 问题的抽象 n面向过程程序设计特点 n强调功能(算法)实现 n大程序分解成函数等小模块 n大多数函数共享全局数据 n系统中数据可在函数间公开传递 n函数加工处理数据,使其形式发生变化 n程序设计依据自顶向下原则 9 问题的抽象 n以对象为中心的抽象 n以对象为中心的抽象是用对象的观点看世界。将现实世界的 问题抽象为离散的、相互通信的对象集合。 n这些对象可以看作是一个自治的主体,每个对象都有其静态 属性和动态行为,而且每一个对象都是模拟了真实世界中的 某个对象。在这里,功能并不是一个独立的存在,而是一个 包含在对象内部的相关操作。为完成一个特定的任务,对象 之间通过发送消息完成相应的功能。 10 问题的抽象 n以对象为中心的抽象 11 问题的抽象 n面向对象程序设计 n一种以对象为中心、以消息驱动对象执行相应操作的程序设 计范型。 n一个面向对象程序由一些对象构成,对象封装了数据及可施 于这些数据上的操作,对象间相互发送消息完成系统功能。 n面向对象程序的执行过程体现为各个对象之间相互发送和处 理消息。 n程序 = 对象/类 + 对象/类+ 对象/类 = 数据(属性) + 函数(操作) 12 面向对象程序设计中数据和函数的组织结构 13 问题的抽象 n面向对象程序设计特点 n更关注数据,而不是过程 n程序分解成实体对象 n设计数据结构表示对象 n数据被隐藏在对象中,不可由外部函数访问 n作用于对象的函数也放于对象中 n对象间通过发送消息(函数调用)通信 n程序设计依据自底向上原则 14 一切事物皆是对象 n对象 n类 n属性、操作、方法 n消息 15 一切事物皆是对象 n对象 n对象的定义:对象(object)是问题域中一些事物的 抽象,是一些属性、操作和方法的封装体,它具有 唯一标识。 n一个对象至少包括以下几个部分: n 有一个和其它对象区分开来的唯一性标识; n 有一组属性描述对象静态特征; n 有一组功能表达对象动态行为。 16 一切事物皆是对象 一部移动电话,它是现实世界中的一个实体。它由 天线、发射部件、接收部件、显示屏、按键、专用 集成电路芯片及外壳组成;它有着其实在的功能, 可以打电话,可以发短消息,可以存储、输入和编 辑各种个人信息,甚至可以上网。这样一个实体可 以在计算机世界中映射为一个计算机可以理解、可 以操纵、具有前面所叙述的属性和操作的对象。 17 一切事物皆是对象 一辆自行车,它由车架、车轮、脚踏和传动机构、 变速机构等组成,它具有代步功能,它可以进行变 速骑行,刹车,特别要强调的是它有一些特征可以 把你的这辆自行车与其他自行车区分开来,其中最 重要的是钢印号。这些都可以在面向对象的程序中 用对象及其属性和操作模拟出来。 18 一切事物皆是对象 学生:张三 对象标识:对象名student_1 对象属性: name= 张三 number=00123456 age = 20 major=Physics 对象操作: SelectClass(“class_math“); . 19 一切事物皆是对象 n对象 n对象之间是通过消息(message)互相进行通信的。 消息是从一个对象(发送者)向另一个或几个其他对 象(接收者)发送信号,或由一个对象(发送者或调 用者)调用另一个对象(接收者)的操作。 n对象在通信时,无须知道对方数据或操作的细节,只 要知道交互的消息类型就够了。 20 一切事物皆是对象 n对象 n对象是有生命的,每个对象都有自己的生命周期,即从出生 (创建)、生长(活动)到灭亡(删除)。 n在计算机中,对象的创建是指在计算机内存的程序数据区中 为该对象分配一个空间;对象的活动是指对象能自主地运行 ,并且可以接收消息并加以处理,或通过处理外来消息改变 自身状态,对象也可以向其它对象发送消息等;对象的删除 是指当对象的使命完成后,可以在存储器中将其占用的存储 空间置为无效并回收。 21 一切事物皆是对象 n类 n类的定义:一组具有共同的静态特征和行为特征的对 象集合。 n类和对象是抽象和具体的关系。 n从实现角度,类是某种数据类型,对象是该类型的变 量,一旦定义了一个类,就可以创建该类的任何数量 的对象。 n每一个对象都对应于一个类。 22 一切事物皆是对象 n类 n对于同一类的不同对象之间,具有如下特点: n 相同的属性; n 相同的操作和方法; n 不同的对象名; n 不同的属性值(对于那些可以改变的属性) 23 学生 学号 姓名 年龄 性别 身高 体重 选课 唱歌 打篮球 学生1 2010001 李强 19 男 175 65 选课 唱歌 打篮球 学生2 2010026 张芳 19 女 168 50 选课 唱歌 打篮球 24 一切事物皆是对象 n属性、操作、方法 n1.属性 n属性(attribute)是类和对象中的静态特征。在面 向对象程序中用一个数据单元表示属性。属性可 以用属性名、类型、可修改性、多重性、可见性 进行描述,属性可以有初始值。对于可修改的属 性,可以改变其属性值。 25 一切事物皆是对象 n属性、操作、方法 n2.操作 n操作(operation)是对象执行某种功能的规格说明 。例如,窗口类具有“打开”、“关闭”、“移 动”、“隐藏”等操作。窗口类中的各对象可以 共享这些操作。在面向对象程序中通常是用一个 函数或过程的原型(声明)表示操作。操作在类 中声明,它可以用操作名、参数列表、返回值类型 、可见性等来描述。 26 一切事物皆是对象 n属性、操作、方法 n3.方法 n方法(method)是操作的实现,是说明生成操作结 果的算法或过程。如果一个操作有方法实现,这 种操作称为具体操作;否则,称为抽象操作。在 面向对象程序中通常是用一个函数或过程的定义 (函数体或过程体)表示方法。 27 一切事物皆是对象 n消息 n消息(message)是从一个对象(发送者)到另一个对象(接收 者)的信息传递。例如,消息可以是一个对象(调用者)对一 个对象(被调用者)操作的调用。被调用者接收到调用者传递 过来的消息时,激活相应的方法(操作的实现)。方法中的 过程执行完后,调用者收回控制,并可以得到方法处理的结 果。面向对象的程序在完成一个特定的任务时,需要多个对 象之间相互协作,这时就会产生针对这个任务的一组特定的 消息

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论