当前位置: 首页 > 图文教程 > 网络编程 > PHP > 第二节--PHP5 的对象模型 -- Classes and Objects in PHP5 [2]

PHP
php新手照样打造自己的搜索引擎phpdig
PHP实现JAVA的XStream (PHP)
PHP单文件上传类或多文件上传类源码
PHP中GBK和UTF8编码处理
DISCUZ架构:misc.func.php文件分析一
PHP教程:PHP中对文件和目录的操作方法
一个完整、安全的PHP用户登录系统
完全讲解PHP+MySQL的分页显示示例分析
PHP应用实例:实现给上传图片加水印图案
用 PHP V5 开发多任务应用程序
用PHP自动把纯文本转换成Web页面
PHP中使用FCKeditor2.3.2配置
网友分享:十四条令PHP初学者头疼问题大总结
PHP程序61条面向对象分析设计的经验原则
PHP 面向对象的方法重载
php可以生成缩略图和水印图的类
十四条令PHP初学者头疼问题大总结
关于PHP接口的学习
php的ajax框架xajax入门与试用
PHP 开发中的中文编码问题

第二节--PHP5 的对象模型 -- Classes and Objects in PHP5 [2]


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 130 ::
收藏到网摘: n/a

/*
-------------------------------------------------------------------------------
| = 本文为Haohappy读<<Core PHP Programming>>
| = 中Classes and Objects一章的笔记
| = 翻译为主 个人心得
| = 为避免可能发生的不必要的麻烦请勿转载,谢谢
| = 欢迎批评指正,希望和所有PHP爱好者共同进步!
| = PHP5研究中心: http://blog.csdn.net/haohappy2004
-------------------------------------------------------------------------------
*/

第二节--PHP5 的对象模型

PHP5有一个单重继承的,限制访问的,可以重载的对象模型. 本章稍后会详细讨论的”继承”,包含类间的父-子关系. 另外,PHP支持对属性和方法的限制性访问. 你可以声明成员为private,不允许外部类访问. 最后,PHP允许一个子类从它的父类中重载成员.

//haohappy注:PHP4中没有private,只有public.private对于更好地实现封装很有好处.

PHP5的对象模型把对象看成与任何其它数据类型不同,通过引用来传递. PHP不要求你通过引用(reference)显性传递和返回对象. 在本章的最后将会详细阐述基于句柄的对象模型. 它是PHP5中最重要的新特性.

有了更直接的对象模型,基于句柄的体系有附加的优势: 效率提高, 占用内存少,并且具有更大的灵活性.

在PHP的前几个版本中,脚本默认复制对象.现在PHP5只移动句柄,需要更少的时间. 脚本执行效率的提升是由于避免了不必要的复制. 在对象体系带来复杂性的同时,也带来了执行效率上的收益. 同时,减少复制意味着占用更少的内存,可以留出更多内存给其它操作,这也使效率提高.

//haohappy注:基于句柄,就是说两个对象可以指向同一块内存,既减少了复制动作,又减少对内存的占用.

Zand引擎2具有更大的灵活性. 一个令人高兴的发展是允许析构--在对象销毁之前执行一个类方法. 这对于利用内存也很有好处,让PHP清楚地知道什么时候没有对象的引用,把空出的内存分配到其它用途.