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