面向对象编程概述

面向对象编程概述

ID:11565340

大小:1.10 MB

页数:27页

时间:2018-07-12

面向对象编程概述_第1页
面向对象编程概述_第2页
面向对象编程概述_第3页
面向对象编程概述_第4页
面向对象编程概述_第5页
资源描述:

《面向对象编程概述》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第1章面向对象编程概述第章面向对象编程概述面向对象(Object-Oriented,OO)软件开发对于主要编写过程式代码的开发人员而言是一个非常令人困惑的主题。但是,情况本不该变成如此。本章将讨论OO背后的一些基本理论,并介绍OO的一些难以理解的术语(有一些是令人望而生畏的术语)。同时,您还将认识到为什么您会对OO技术感兴趣,以及OO技术如何极大地提高开发复杂应用程序的速度。并且,您还可以看到修改这些应用程序是非常简单的工作。接下来的几章将扩展在本章中给出的一些基本思想,并帮助您熟悉一些更高级的主题。如果您已经在PHP6以外学习过OO开发,那么可以跳过本章和下一章。但是

2、,这些内容很好地总结了面向对象编程的基本原理,因此建议完整阅读这些内容。1.1面向对象编程的概念面向对象编程(Object-OrientedProgramming,OOP)需要以一种不同的方式来考虑如何构造应用程序。通过对象可以在对应用程序所处理的现实任务、过程和思想进行编码时,实施更贴切的建模。OOP方法并不是将应用程序考虑成一个将大量数据从一个函数传递给下一个函数的控制线程,而是允许将应用程序建模成一组相互协作的对象,并且这些对象可以独立地处理某些活动。可以做如下类比:在造一幢房屋时,管道工程师主要处理管道,而电气工程师则主要负责处理电线。管道工程师并不需要知道卧室

3、中的电路是10安培还是20安培,他们需要关注的仅仅是自己的活动。总承包人保证每个子承包人都能够完成他们需要完成的工作,但是他不一定要关注每个任务的具体细节。OOP方法与此类似,其中每个对象均对其他的对象隐藏其实现细节。每个对象如何完成其任务与系统中的其他组件并不相关。对象之间的关联就是对象所能够提供的服务。类和对象的概念,以及在软件开发过程如何运用这些概念,正是隐藏在29第1章面向对象编程概述OOP背后的基本思想。从某种意义上说,OOP是和过程编程相对立的,过程编程使用函数和全局数据结构来实施编程。OOP方法具有好于过程编程的优点以及(PHP对OO支持的全新实现首次出现

4、在PHP5中,并在PHP6中做了进一步的改进)巨大的性能改进。1.1.1OOP的优点OOP的主要优点之一就是可以轻松地将单个的业务需求转换为单个的代码模块。由于OOP方法允许基于现实世界对象的思想来对应用程序进行建模,因此通常可以识别人、事物以及概念和等价类之间的直接关联。这些类具有与它们所表示的现实世界概念相同的属性和行为,这将有助于快速确定必须要编写哪些代码,以及应用程序的不同部分之间必须如何实施交互。OOP的第二个优点就是代码重用。通常,在同一个应用程序的不同位置需要相同类型的数据。例如,一个帮助医院管理其病人记录的应用程序肯定需要一个名为Person的类。在病人

5、护理中涉及到大量人员——病人、医生、护士、医院管理人员、保险理赔人员等。在病人护理的每个步骤中,该病人的记录中需要说明哪个人正在执行给定的操作(例如开处方、清理伤口或邮寄账单给保险公司),并且验证此人获准执行该操作。通过定义一个包含了所有人员共用的属性和方法的通用类Person,就可以实现大量的代码重用,而代码重用在过程编程方法中并不总是能够实现。其他的应用程序又如何呢?如果在某个时刻让您想象一下,您会想到有多少应用程序涉及到个人信息的处理呢?可能会有很多。一个编写良好的Person类可以方便地从一个项目复制到另一个项目,而无需做多大的改动,甚至是不需要做任何改动。这样

6、,代码重用立即就可以使您拥有之前所开发的处理人员信息所需要的所有丰富功能。这是OO方法最大的优点之一:在给定应用程序中重用代码,也可以跨不同项目重用代码。OOP的另外一个优点源于类的模块化。如果在Person类中发现了一个错误,或者希望往类中添加一些功能或改变类的工作方式,您只需要在一个位置进行处理。该类的所有功能均包含在一个单独的文件中。依赖于Person类的应用程序的所有进程都将立即被该类的改动所影响。这可以极大地简化错误的检查过程,并使得添加功能成为一个相对简单的任务。1.1.2一个现实世界的示例在一个较小的应用程序中,上面提到的优点看上去似乎有点微不足道;但是在

7、一个比较复杂的软件体系结构中,模块化的优点可能就非常显著。本书的作者之一曾经致力于完成一个具有200000多行过程式PHP代码的项目。毫无疑问,花费在修改漏洞上的时间中的65%都用在寻找特定函数的位置,以及确定哪些数据和哪些函数交互。随后在OO体系结构中对该软件的重写导致代码量大大降低。如果一开始就以这种方式实现该应用程序,那么不仅是从一开始就只需花费较少的开发时间,而且可以使代码中的漏洞也比较少(代码量越少,出问题的机会也就越少),同时花费在漏洞修补上的开发周转时间也将大幅减少。由于OO方法本身就是一个非常适合于清晰描述应用程序的结构的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。