- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
下载
第10章 面 向 对 象
面向对象编程技术已经提出很多年了,尽管它很有用处,但是大部分程序员并没有利用
它。这一章将帮助读者进一步提高,以便能在沉迷于那种旧的模块化编程的同伴中脱颖而出。
很多程序员对面向对象编程( O O P )感到很好奇,但是,从一个统计中看出,几乎没有
人真正投入精力去研究 O O P 的各种术语和技术。但在日常的编程过程中加入面向对象的思想
是很有益的─比如可以提高程序的易维护性和代码的可重用性。
什么是对象?这本正在被读的书是一个对象,吃饭用的刀和叉也是对象,总的来说,生
活中充满了对象。真正需要问的问题是:什么是类?在面向对象编程中,真正完成各项工作
的是类。类是变量和函数的组合,类被设计用来模仿一个对象。但是, O O P有它自己的术语:
• 属性─类中使用的变量。
• 方法─类中使用的函数。
• 继承─类可以从它的一个或多个父类中继承方法和属性。在本章后面,可以看到一个
名为 i n v e n t o r y _ i t e m 的通用类中的信息是如何被名为 p e n 的特殊类继承的,这时,
i n v e n t o r y _ i t e m就是p e n 的父类。
• 抽象─一个对象的信息(它的属性)能以一种将数据的存储方式和访问、使用的方法
隔离开的方式进行访问。后面,你将学到获得和设置类属性的访问权限。
• 封装─一个对象的信息和处理这些信息的函数(方法)被存储在一起,关键字类用来
给这些属性和方法分组。
• 多态─子类可以重复定义已经在父类中定义过的方法,在 P H P 3 中,一旦一个父类的方
法被子类覆盖了,它就不能再被使用了。有传言说 P H P 4将更好地支持多态性。
10.1 了解类的知识
在学习一些具体的面向对象的 P H P代码例子之前,最好先来看一些普遍的例子。通过普
遍例子学习“标准”面向对象技术可以确保你牢固掌握 O O P 的各种概念。因为如果在学习面
向对象概念的同时还要学习其他的P H P新概念的话,有些相当重要的东西可能容易忘记。
类用来给对象分组和描述对象类型,记得前一章模式匹配中的字符类别的概念吗?在面
向对象的领域中类基本上是同一样的事物,让我们来为钢笔和铅笔的经销商的货物清单系统
创建一个类,首先是钢笔的对象,从库存清单的角度,应该怎样描述钢笔呢?
首先,钢笔可能有一个编号,并且需要知道它们的库存还有多少,钢笔的颜色也可能是
很重要的,每个钢笔里还有多少墨水─其实这个类中不需要包括这个属性,因为所有的钢
笔都是新的,墨水肯定是满的。
上一段的思维过程的具体化就称为“建模 ( m o d e l i n g ) ”,建模就是决定在对象中需要包含
哪些内容的处理过程,其实,就是在对象之外的领域建造一个模型。
提示 术语对象和类是可以互换的,区别是类用计算机语言描述一个对象,而对象只
是一个对象。
第10章 面 向 对 象计计155
下载
怎样开始根据计划来设计类呢?依据想要完成的不同任务,对一个对象和它的类的描述是不同的,
比如,如果现在要设计一个学校的课程进度程序,这个工作会比仅仅设计一个统计程序困难得多。
10.1.1 继承
我们已经讨论了钢笔和它们的颜色以及其他一些可识别的特征,以对象的行话来说,这
些特征称为属性(property ) ,图1 0 - 1显示了钢笔类在这一个讨论阶段中的样子:
既然有了一个类,就可以进行概括。有的人喜欢先进行概括,而我喜欢先注意细节,然
后从中提取出一般的东西。当然,要想总结出这样一些一般的通性,通常需要几个类,但是
因为我已经仔细研究过这个例子,所以可以不用再举出其他类来概括出通性。
很明显,所有的库存货物都需要一个编号,还有它们各自的库存剩余量。因此,可以创
建一个比钢笔类更通用的类,我们把它叫做库存商品。图 1 0 - 2显示了这个新类。
图10-1 cls_pen类及其属性 图10-2 cls_inventory_item类及其属性
因为c l s _
文档评论(0)