第二节 对象模型 [2]


Posted in PHP onOctober 09, 2006

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

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

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

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

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

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

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

PHP 相关文章推荐
优化php效率,提高php性能的一些方法
Mar 24 PHP
PHP操作mysql函数详解,mysql和php交互函数
May 19 PHP
Linux fgetcsv取得的数组元素为空字符串的解决方法
Nov 25 PHP
深入PHP nl2br()格式化输出的详解
Jun 05 PHP
php实现在线生成条形码示例分享(条形码生成器)
Dec 30 PHP
zf框架的zend_cache缓存使用方法(zend框架)
Mar 14 PHP
PHP开发微信支付的代码分享
May 25 PHP
浅谈PHP中Stream(流)
Jun 08 PHP
PHP实现搜索地理位置及计算两点地理位置间距离的实例
Jan 08 PHP
CI框架常用经典操作类总结(路由,伪静态,分页,session,验证码等)
Nov 21 PHP
Laravel5.5 实现后台管理登录的方法(自定义用户表登录)
Sep 30 PHP
laravel与thinkphp之间的区别与优缺点
Mar 02 PHP
第三节 定义一个类 [3]
Oct 09 #PHP
Zend引擎的发展 [15]
Oct 09 #PHP
第五节 克隆 [5]
Oct 09 #PHP
第六节 访问属性和方法 [6]
Oct 09 #PHP
第八节 访问方式 [8]
Oct 09 #PHP
第九节 绑定 [9]
Oct 09 #PHP
第十节 抽象方法和抽象类 [10]
Oct 09 #PHP
You might like
乐信RP2100的电路分析和打磨
2021/03/02 无线电
介绍php设计模式中的工厂模式
2008/06/12 PHP
php数组总结篇(一)
2008/09/30 PHP
php echo, print, print_r, sprintf, var_dump, var_expor的使用区别
2013/06/20 PHP
PHP使用数组依次替换字符串中匹配项
2016/01/08 PHP
PHP对称加密函数实现数据的加密解密
2016/10/27 PHP
PHP7基于curl实现的上传图片功能
2018/05/11 PHP
laravel 实现用户登录注销并限制功能
2019/10/24 PHP
动态调用css文件——jquery的应用
2007/02/20 Javascript
超级简单的图片防盗(HTML),好用
2007/04/08 Javascript
JavaScript中的索引数组、关联数组和静态数组、动态数组讲解
2014/11/08 Javascript
AngularJS递归指令实现Tree View效果示例
2016/11/07 Javascript
H5移动端图片压缩上传开发流程
2016/11/09 Javascript
在vue中通过axios异步使用echarts的方法
2018/01/13 Javascript
详解Vue.js和layui日期控件冲突问题解决办法
2019/07/25 Javascript
详解微信小程序工程化探索之webpack实战
2020/04/20 Javascript
Openlayers实现测量功能
2020/09/25 Javascript
python检测远程端口是否打开的方法
2015/03/14 Python
python optparse模块使用实例
2015/04/09 Python
使用PDB简单调试Python程序简明指南
2015/04/25 Python
python实现的简单窗口倒计时界面实例
2015/05/05 Python
Python 数据结构之队列的实现
2017/01/22 Python
python写入并获取剪切板内容的实例
2018/05/31 Python
浅谈python中np.array的shape( ,)与( ,1)的区别
2018/06/04 Python
Sanic框架安装与简单入门示例
2018/07/16 Python
Python3内置模块之base64编解码方法详解
2019/07/13 Python
python3获取url文件大小示例代码
2019/09/18 Python
Python批量安装卸载1000个apk的方法
2020/04/10 Python
Python classmethod装饰器原理及用法解析
2020/10/17 Python
HTML5中的autofocus(自动聚焦)属性介绍
2014/04/23 HTML / CSS
应届生程序员求职信
2013/11/05 职场文书
师范应届毕业生自荐信
2013/11/18 职场文书
社区安全检查制度
2014/02/03 职场文书
申报材料格式
2014/12/30 职场文书
《合作意向书》怎么写?
2019/08/20 职场文书
Python使用UDP实现720p视频传输的操作
2021/04/24 Python