面向对象程序设计01-2.抽象与对象.pptVIP

  • 10
  • 0
  • 约3.18千字
  • 约 29页
  • 2017-03-26 发布于重庆
  • 举报
面向对象程序设计01-2.抽象与对象

第1章认识对象 《面向对象程序设计》 认识对象 内容提要 问题的抽象 一切事物皆是对象 面向对象技术概述 C++简介 问题的抽象 以功能为中心的抽象(过程抽象 以对象为中心的抽象(数据抽象 问题的抽象 以功能为中心的抽象 以功能为中心的抽象就是用功能的观点来看世界,将现实世界的问题抽象为功能和子功能。 以功能抽象为基础的结构化程序设计,围绕实现“面向过程”的功能来构造系统。其基本原理是采用自顶向下、分而治之、逐步求精的原则,将所要解决的问题按功能分解成许多的子问题,这些子问题可以继续分解,直到分解为一些易于控制且功能独立的模块为止。 问题的抽象 以功能为中心的抽象 用功能抽象的方法构建系统的结构图如图1-1所示。 问题的抽象 面向过程程序设计 一种以功能为中心、基于功能分解的程序设计范型。 一个过程式程序由一些子程序构成,子程序描述了一系列的操作,每个子程序对应一个子功能,它实现了功能抽象。 过程式程序的执行过程体现为一系列的子程序调用。数据处于附属地位,它独立于子程序,在子程序调用时作为参数或全局变量传给子程序使用。 程序 函数/算法 + 数据结构 问题的抽象 面向过程程序设计特点 强调功能(算法)实现 大程序分解成函数等小模块 大多数函数共享全局数据 系统中数据可在函数间公开传递 函数加工处理数据,使其形式发生变化 程序设计依据自顶向下原则 问题的抽象 以对象为中心的抽象 以对象为中心的抽象是用对象的观点看世界。将现实世界的问题抽象为离散的、相互通信的对象集合。 这些对象可以看作是一个自治的主体,每个对象都有其静态属性和动态行为,而且每一个对象都是模拟了真实世界中的某个对象。在这里,功能并不是一个独立的存在,而是一个包含在对象内部的相关操作。为完成一个特定的任务,对象之间通过发送消息完成相应的功能。 问题的抽象 以对象为中心的抽象 问题的抽象 面向对象程序设计 一种以对象为中心、以消息驱动对象执行相应操作的程序设计范型。 一个面向对象程序由一些对象构成,对象封装了数据及可施于这些数据上的操作,对象间相互发送消息完成系统功能。 面向对象程序的执行过程体现为各个对象之间相互发送和处理消息。 程序 对象/类 + 对象/类+ … 对象/类 数据(属性) + 函数(操作) 问题的抽象 面向对象程序设计特点 更关注数据,而不是过程 程序分解成实体对象 设计数据结构表示对象 数据被隐藏在对象中,不可由外部函数访问 作用于对象的函数也放于对象中 对象间通过发送消息(函数调用)通信 程序设计依据自底向上原则 一切事物皆是对象 对象 类 属性、操作、方法 消息 一切事物皆是对象 对象 对象的定义:对象 object 是问题域中一些事物的抽象,是一些属性、操作和方法的封装体,它具有唯一标识。 一个对象至少包括以下几个部分: 有一个和其它对象区分开来的唯一性标识; 有一组属性描述对象静态特征; 有一组功能表达对象动态行为。 一切事物皆是对象 一部移动电话,它是现实世界中的一个实体。它由天线、发射部件、接收部件、显示屏、按键、专用集成电路芯片及外壳组成;它有着其实在的功能,可以打电话,可以发短消息,可以存储、输入和编辑各种个人信息,甚至可以上网。这样一个实体可以在计算机世界中映射为一个计算机可以理解、可以操纵、具有前面所叙述的属性和操作的对象。 一切事物皆是对象 一辆自行车,它由车架、车轮、脚踏和传动机构、变速机构等组成,它具有代步功能,它可以进行变速骑行,刹车,特别要强调的是它有一些特征可以把你的这辆自行车与其他自行车区分开来,其中最重要的是钢印号。这些都可以在面向对象的程序中用对象及其属性和操作模拟出来。 一切事物皆是对象 学生:张三 ??对象标识:对象名student_1 ??对象属性: ?? name 张三 ?? number?? age 20 ?? major Physics ?? ........ ??对象操作: ?? SelectClass class_math ; ?? ....... 一切事物皆是对象 对象 对象之间是通过消息(message)互相进行通信的。消息是从一个对象(发送者)向另一个或几个其他对象(接收者)发送信号,或由一个对象(发送者或调用者)调用另一个对象(接收者)的操作。 对象在通信时,无须知道对方数据或操作的细节,只要知道交互的消息类型就够了。 一切事物皆是对象 对象 对象是有生命的,每个对象都有自己的生命周期,即从出生(创建)、生长(活动)到灭亡(删除)。 在计算机中,对象的创建是指在计算机内存的程序数据区中为该对象分配一个空间;对象的活动是指对象能自主地运行,并且可以接收消息并加以处理,或通过处理外来消息改变自身状态,对象也可以向其它对象发送

文档评论(0)

1亿VIP精品文档

相关文档