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