预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共51页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第六章面向对象编程(OOP) 本章要点 面向过程的设计思想 抽象 封装 属性、局部变量/成员属性、变量的作用域 Java程序执行过程分析 方法 方法调用 方法参数及其传递问题 this关键字 简单的JavaBean类 包 面向对象的编程思想是目前应用最广泛的编程思想。程序设计者考虑的是:对象的描述、对象间的关系、类的管理、何时何地调用对象的哪一种方法等。使用面向对象的编程思想适用于规模较大的应用程序。Java面向对象的编程思想引入了许多概念和机制,归纳总结为四大点:抽象、封装、继承和多态。 6.1面向过程的设计思想 面向过程的设计思想在考虑问题时,是以一个具体的流程为单位,考虑它的实现办法,关心的是功能的实现。在程序设计过程中一般由各个相关联的函数实现,耦合性比较强。在程序设计过程中,程序有一个明显的开始、明显的中间过程、明显的结束,程序的编制以这个预定好的过程为中心,设计好了开始子程序、中间子程序、结尾子程序,然后按顺序把这些子程序连接起来,一旦程序编制好这个过程就确定了,程序按顺序执行。如果在执行过程中,用户需要输入什么参数或用户做出选择,程序将等待用户的输入。只有用户提供了足够的数据,程序才能继续执行下去。 下面来看一个简单的面向过程的例子。在洗衣机的工作过程中,一般要经过以下几个过程。 (1)接通电源,按下洗衣机的“启动”按钮后开始供水。 (2)当水满到“水满传感器”时就停止供水。 (3)水满之后,洗衣机开始执行漂洗过程,正转5秒,然后倒转5秒,执行此循环动作10分钟。 (4)漂洗结束之后,出水阀开始放水。 (5)放水30秒后结束放水。 (6)开始脱水操作,脱水持续5分钟。 (7)脱水结束后,“声光报警器”报警,叫工作人员来取衣服。 (8)按下“停止”按钮(或10秒报警超时到),声光报警器停止,并结束整个工作过程。 按照该洗衣机的工作流程可以画出它的状态图来描述其状态转化过程,了解了该洗衣机的状态转化过程后,根据其状态图就可以很容易地为其进行软件设计,并写出相应的程序实现代码。但是这样的设计,每一个环节只关注行为动作和功能实现,没有考虑数据的状态,而且各个行为之间的耦合性比较强,不利于程序的扩展和模块化。 6.2面向对象的设计思想 面向对象的设计思想在考虑问题时,以具体的事物(对象)为单位,考虑它的属性(特征)及动作(行为),关注整体,就好比观察一个人一样,不仅要关注他怎么说话,怎么走路,还要关注他的身高、体重、长相等属性特征。又比如,用程序来模拟对窗口的操作。使用面向过程的设计思想时,主要就是定义针对窗口的各种操作:隐藏窗口、移动窗口、关闭窗口等功能。而使用面向对象的设计思想时,却是把窗口当作主体来看待,定义它的大小、位置、颜色等属性,同时定义好对应的动作,如隐藏、移动、关闭等。 面向对象的编程思想更加接近于现实的事物,它有以下几点好处。 (1)使编程更加容易。因为面向对象更接近于现实,所以可以从现实的东西出发,进行适当的抽象。 (2)在软件工程上,面向对象可以使工程更加模块化,实现更低的耦合和更高的内聚。 (3)在设计模式上(似乎只有面向对象才涉及设计模式),面向对象可以更好地实现开-闭原则,也使代码更易阅读。 相对而言,面向过程的程序设计是面向对象程序设计的基础。面向对象的程序里面一定会有面向过程的程序片段的。在程序中,面向过程的程序设计,通过函数来实现。面向对象的程序设计,通过对象来封装函数和数据等。 总的来说,面向对象编程(ObjectOrientedProgramming,OOP)是一种计算机编程架构。OOP具有的优点是:使人们的编程与实际的世界更加接近,所有的对象被赋予属性和方法,这样编程就更加富有人性化;它的宗旨在于模拟现实世界中的概念;在现实生活中所有事物全被视为对象;能够在计算机程序中用类似的实体模拟现实世界的实体(实体即实实在在的物体);它是一种设计和实现软件系统的方法。 OOP主要有抽象(Abstract)、封装(Encapsulation)、继承(Inheritance)和多态(Polymorphism)四大特征。 6.3抽象 首先来了解面向对象编程思想的第一个特征:抽象。抽象主要用来把客观世界中真实存在的事物用编程语言描述出来。这也是理解面向对象编程思想的第一步。 在了解抽象这个概念之前,需要先来了解一下对象和类的概念。 6.3.1了解对象 在了解对象之前,先要了解世界是由什么组成的。客观世界是由事物组成的,现实生活中各个实实在在的事物也叫实体,如图6.1所示。 图6.1现实生活中的实体 如果以面向对象的编程思想来看客观世界的话,万事万物皆对象。对象就是某一个具体的事物,比如一个苹果、一台计算机都是一个对象。每个对象都是唯一的,两个苹果,无论它们的外观有多么相像,内部成分有多么相似,两个