第2章面向对象编程思路ppt课件
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电脑基础·实例·上机系列丛
清华大学出版社
对象的行为
Java程序设计教程
➢如“飞翔”的操作只对没有处于飞行状 态的鸟才有效,而执行了“飞翔”操作 之后,鸟原有的未飞行的状态将改变。 对象的状态在电脑内部是用变量来表示, 而对象的行为在电脑内部是用方法来表 示的。方法实际上类似于面向过程中的 函数,对象的行为或操作定义在其方法 的内部。
电脑基础·实例·上机系列丛
清华大学出版社
可扩展性
Java程序设计教程
➢可扩展性是现代应用软件提出的又一个 重要要求,即要求应用软件能够方便、 容易的进行扩展和修改。这种扩充和修 改的范围不但涉及到软件的内容,也涉 及到软件的形式和工作机制。
电脑基础·实例·上机系列丛
清华大学出版社
可扩展性
Java程序设计教程
清华大学出版社
对象入门
Java程序设计教程
➢面向对象程序设计中类和对象的这种关 系在现实中也很容易理解,如果类是一 个抽象的概念,那么对象就是某一种具 体的鸟。
电脑基础·实例·上机系列丛
清华大学出版社
对象、实体和类
Java程序设计教程
电脑基础·实例·上机系列丛
清华大学出版社
对象入门
Java程序设计教程
电脑基础·实例·上机系列丛
清华大学出版社
对象的属性
Java程序设计教程
电脑基础·实例·上机系列丛
清华大学出版社
对象的行为
Java程序设计教程
➢从“对象的属性”图可以看出,对象的方法 一方面把对象的内部变量包裹、封装和保护 起来,使得只有对象自己的方法才能操作这 些内部变量;另一方面,对象的方法还是对 象与外部环境、其他对象等进行交互通信的 接口,对象的外部环境和其他对象可以通过 这个接口来调用对象,操纵对象的行为和改 变对象的状态。
➢面向对象程序设计的可扩展性主要体现 在如下的几个方面。
➢1)特别适合快速原形软件开发
➢快速原型法是研究软件生命周期的研究 人员提出的一种开发方法,相对于传统 的瀑布式的开发方法,它在某些程度上 来说更加灵活和实用。
电脑基础·实例·上机系列丛
清华大学出版社
快速原型法
Java程序设计教程
电脑基础·实例·上机系列丛
电脑基础·实例·上机系列丛
清华大学出版社
编程思路的发展
Java程序设计教程
➢面向对象程序设计将问题分解为一系列 实体——这些实体被称为对象 (object),然后围绕这些实体建立数 据和函数。
电脑基础·实例·上机系列丛
清华大学出版社
Java程序设计教程
面向对象程序设计的优点
➢与传统方法相比,面向对象的问题求解 具有更好的可重用性、可扩展性和可管 理性。本节将简要介绍使用面向对象的 程序设计方法的优点和适用场合。
清华大学出版社
对象的行为
Java程序设计教程
➢对象最主要的特点是以数据为中心,它是一 个集成了数据和操作的独立逻辑单位。面向 对象的问题求解就是力图从实际问题中抽象 出这些封装了数据和操作的对象,通过定义 属性变量和操作来表述它们的特征和功能, 通过定义接口来描述它们的地位及与其他对 象的关系,最终形成一个广泛联系的可理解、 可扩充、可维护、更接近于问题本来面目的 动态对象模型系统。
可扩展性
Java程序设计教程
➢3)有效支持模块化技术
➢模块化是软件设计和程序开发过程中经 常使用、非常有效的一种方法。采用模 块可以将大的任务划分为较小的单元, 交给不同的开发人员各个开发、并行完 成,同时模块可以将模块内部的实现过 程隐蔽起来,避免干扰。
电脑基础·实例·上机系列丛
清华大学出版社
可管理性
电脑基础·实例·上机系列丛
清华大学出版社
可扩展性
Java程序设计教程
➢2)系统的维护更加简单和容易
➢面向对象程序设计过程中,开发人员只 需在原来系统框架的基础上对类进行扩 充和修改,这样维护工作和开销自然大 大减少,这是面向对象方法相对于传统 方法的一个优点。
电脑基础·实例·上机系列丛
清华大学出版社
电脑基础·实例·上机系列丛
清华大学出版社
对象入门
Java程序设计教程
➢实质上,面向对象程序设计的关键思想 就是要让计算机逻辑来模拟现实世界的 物理存在,即让电脑世界向现实世界靠 近。这一点与传统的程序设计中把现实 世界的问题抽象成电脑可以理解和处理 的数据结构的思路,即让现实世界向世 界靠近的思路是完全相反。
电脑基础·实例·上机系列丛
清华大学出版社
对象的状态
Java程序设计教程
➢当对象经过某种操作和行为而发生状态 改变时,具体地就体现为属性变量内容 的改变。通过检查对象属性变量的内容, 就可以了解这个对象当前所处于的状态。
电脑基础·实例·上机系列丛
清华大学出版社
对象的行为
Java程序设计教程
➢行为是对象的第二种属性,又称为对象 的操作。它主要表述对象的动态属性, 操作的作用是设置或改变对象的状态。 对象的操作一般都基于对象内部的变量, 并试图改变这些变量。
对象入门
Java程序设计教程
➢包含对象的结构称为类,类是同种对象 的集合与抽象。这些实体在面向对象程 序中被映射成不同的对象。这些代表不 同鸟类的实体之间存在着许多实质性的 共同点。因此,为了处理问题的方便, 在面向对象的程序设计中,定义了类的 概念来表述这些同种对象的公共属性与 特点。
电脑基础·实例·上机系列丛
Java程序设计教程
第2章面向对象编程思路ppt课件
电脑基础·实例·上机系列丛
清华大学出版社
学习目标
Java程序设计教程
➢本章首先介绍编程思路的发展过程,介 绍面向过程的程序开发与面向对象的程 序开发的概念及两者的比较,得出面向 对象程序设计的优点。从对象的属性和 关系两个方面,讲解对象的概念,最后, 介绍Java面向对象的开发过程。
电脑基础·实例·上机系列丛
清华大学出版社
对象的属性
Java程序设计教程
➢每个对象都具有两种基本属性:状态和 行为。还可以分别描述该对象所包含的 信息和操作。
➢对象的状态
➢对象的行为
电脑基础·实例·上机系列丛
清华大学出版社
对象的状态
Java程序设计教程
➢对象的状态又称为对象的静态属性,主 要指对象内部所包含的各种信息,也就 是变量。每个对象个体都具有自己专有 的内部变量,这些变量的值标明了对象 所处的状态。
可管理性
Java程序设计教程
➢另外,在面向对象程序设计中,数据和 操作封装在一起,使得只有该类的有限 个方法才可以操作这些数据。
电脑基础·实例·上机系列丛
清华大学出版社
对象入门
Java程序设计教程
➢通过前面的介绍,对面向对象程序设计 有一个初步了解,下面将详细地介绍面 向对象的核心概念——对象做详细的介 绍。
电脑基础·实例·上机系列丛
清华大学出版社
编程思路的发展
Java程序设计教程
➢结构化程序设计语言使得编写较复杂的 程序变得容易。但是,一旦某个项目达 到一定规模,即便使用结构化程序设计 的方法,局势仍将变得不可控制。
电脑基础·实例·上机系列丛
清华大学出版社
编程思路的发展
Java程序设计教程
➢面向对象程序设计可以弥补面向过程程 序设计方法中的一些缺点。面向对象程 序设计把数据看作程序开发中的基本元 素,不允许它们在系统中自由流动,将 数据和操作这些数据的函数紧密连结在 一起,并保护数据不被外界函数任意改 变。
电脑基础·实例·上机系列丛
清华大学出版社
对象入门
Java程序设计教程
➢(2)再用面向对象的工具,比如Java 语言,将这个抽象数据类型用计算机逻 辑表达出来,即构造电脑能够理解和处 理的类。
电脑基础·实例·上机系列丛
清华大学出版社
对象入门
Java程序设计教程
➢(3)将类实例化,得到现实世界实体 和面向对象的映射——对象,在程序中 对对象进行操作,就可以模拟现实世界 中实体上的问题并将其解决。
➢可重用性
➢可扩展性
➢可管理性
电脑基础·实例·上机系列丛
清华大学出版社
可重用性
Java程序设计教程
➢可重用性是面向对象程序设计的一个核 心思路,其开发特点都或多或少地围绕 着可重用性这个核心并为之服务。目前, 应用软件是由模块组成的,可重用性就 是指一个软件项目中所开发的模块,能 够在这个项目中试用,还可以重复地试 用在其他项目中,从而在多个不同的系 统中发挥作用。
电脑基础·实例·上机系列丛
清华大学出版社
对象的行为
Java程序设计教程
➢在面向对象的方法学中,“对象”是现 实世界的实体或概念在电脑逻辑中的抽 象表示。具体地,对象是具有惟一对象 名和固定对外接口的一组属性和操作的 集合,是用来模拟组成或影响现实世界 问题的一个或一组因素。
电脑基础·实例·上机系列丛
电脑基础·实例·上机系列丛
清华大学出版社
可重用性
Java程序设计教程
➢采用可重用模块来构建程序,其优点是 显而易见的,主要有如下几点。
➢提高开发效率,缩短开发周期,降低 开发成本。在项目开发初期开发一些 公用模块就是要发挥这种优势。
电脑基础·实例·上机系列丛
清华大学出版社
可重用性
Java程序设计教程
电脑基础·实例·上机系列丛
清华大学出版社
对象入门
Java程序设计教程
➢对象是面向对象程序设计的核心,以面 向对象的观点来看,所有的面向对象程 序都是由对象来组成的,这些对象是独 立的,同时它们还可以互相通信、协调 和配合,从而共同完成整个程序的任务 和功能。
电脑基础·实例·上机系列丛
清华大学出版社
电脑基础·实例·上机系列丛
清华大学出版社
Java程序设计教程
电脑基础·实例·上机系列丛
清华大学出版社
Java程序设计教程
电脑基础·实例·上机系列丛
清华大学出版社
Java程序设计教程
面向过程与面向对象
➢编程思路的发展主要经历了两个重要阶 段:即面向过程和面向对象。下面主要 介绍编程思路的发展过程,以及面向对 象程序设计与面向过程程序设计相比较 所体现出的优点。
电脑基础·实例·上机系列丛
ห้องสมุดไป่ตู้
清华大学出版社
Java程序设计教程
面向过程与面向对象
➢编程思路的发展 ➢面向对象程序设计的优点
电脑基础·实例·上机系列丛
清华大学出版社
编程思路的发展
Java程序设计教程
➢早期电脑中运行的程序大都是为特定的 硬件系统专门设计的,称为面向机器的 程序。汇编语言被发明出来以后,可以 用符号表示那些机器指令,从而可以编 写更长、更复杂的程序。当程序规模继 续不停增长的时候,高级语言被引入, 为开发人员们提供了更多工具以应付日 益增加的程序复杂性。
清华大学出版社
可扩展性
Java程序设计教程
➢面向对象程序设计方法通过这种先搭框 架,再填入内容的快速原型法的开发思 路是非常合适的,因为面向对象程序的 基本和主要组成部分是类,就是抽象出 现实体的主要性质而形成的模块结构。
电脑基础·实例·上机系列丛
清华大学出版社
可扩展性
Java程序设计教程
➢在开发过程的初期,类里面仅包含一些 最基本的属性和操作,完成一些最基本 的功能。随着开发的深入,再逐步向类 里加入复杂的属性,并派生子类和定义 更复杂的关系,这就形成快速原型的开 发思路,也就是面向对象程序设计的常 用方法。
➢图“对象、实体和类”表示了对象、实 体和类的相互关系,以及面向对象的问 题求解的思维方式。在用面向对象的软 件方法解决现实世界的问题时的操作步 骤如下:
电脑基础·实例·上机系列丛
清华大学出版社
对象入门
Java程序设计教程
➢(1)将物理存在的实体抽象成概念世 界的抽象数据类型,这个抽象数据类型 包括了实体中与需要解决的问题相关的 数据和属性。
➢采用已经被证明为正确、优先的模块, 不仅程序质量能够得到保证,而且维 护工作量也相应减少。
➢提高程序的标准化程度,符合现代大 规模软件开发的需求。
电脑基础·实例·上机系列丛
清华大学出版社
可重用性
Java程序设计教程
➢正是由于面向对象程序设计具有可重用 性,使它能适应不断扩大、复杂性增加 和标准化程度日益提高的现代应用软件 开发的规模要求,因此逐渐成为开发人 员承认、依赖和喜爱的主流开发技术。
Java程序设计教程
➢面向过程开发方式是以过程或函数为基 本单元来构建整个系统,当项目的规模 变大时,需要的过程和函数数量成倍增 多,不利于管理和控制。而面向对象程 序设计采用内涵比过程和函数更丰富、 更复杂的类作为构建系统的部件,整个 项目的组织将更加合理和方便。
电脑基础·实例·上机系列丛
清华大学出版社
电脑基础·实例·上机系列丛
清华大学出版社
对象入门
Java程序设计教程
➢面向对象程序设计提出的这种新的解决 问题的思路,更接近于人类自然的思维 模式,更接近于现实问题本来面目,这 样,无论是当时的面向对象程序设计实 现本身,还是日后的维护、修改和扩充, 都可以在已有工作的基础之上比较顺利、 容易地完成,避免用面向过程方法实现 时需要面对的种种困难。