第二节 对象模型 [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 相关文章推荐
使用MaxMind 根据IP地址对访问者定位
Oct 09 PHP
基于数据库的在线人数,日访问量等统计
Oct 09 PHP
PHP 采集程序原理分析篇
Mar 05 PHP
PHP mysql与mysqli事务使用说明 分享
Aug 17 PHP
php使用google地图应用实例
Dec 31 PHP
php按字符无乱码截取中文的方法
Mar 27 PHP
Apache服务器下防止图片盗链的办法
Jul 06 PHP
如何解决PHP无法实现多线程的问题
Sep 25 PHP
smarty自定义函数用法示例
May 20 PHP
php查找字符串中第一个非0的位置截取
Feb 27 PHP
动态表单验证的操作方法和TP框架里面的ajax表单验证
Jul 19 PHP
Thinkphp 框架配置操作之动态配置、扩展配置及批量配置实例分析
May 15 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
PHP新手入门学习方法
2011/05/08 PHP
php5.3提示Function ereg() is deprecated Error问题解决方法
2014/11/12 PHP
php实现的日历程序
2015/06/18 PHP
php curl发送请求实例方法
2019/08/01 PHP
JS 文件传参及处理技巧分析
2010/05/13 Javascript
基于javascript滚动图片具体实现
2013/11/18 Javascript
JavaScript中的普通函数与构造函数比较
2015/04/07 Javascript
jQuery替换textarea中换行的方法
2015/06/10 Javascript
JavaScript表单验证实例之验证表单项是否为空
2016/01/10 Javascript
使用伪命名空间封装保护独自创建的对象方法
2016/08/04 Javascript
JS中动态创建元素的三种方法总结(推荐)
2016/10/20 Javascript
微信小程序通过api接口将json数据展现到小程序示例
2017/01/20 Javascript
详解nodejs通过响应回写的方式渲染页面资源
2018/04/07 NodeJs
vue实现滑动超出指定距离回顶部功能
2019/07/31 Javascript
layui 地区三级联动 form select 渲染的实例
2019/09/27 Javascript
jQuery HTML获取内容和属性操作实例分析
2020/05/20 jQuery
Python 执行字符串表达式函数(eval exec execfile)
2014/08/11 Python
Python实现删除Android工程中的冗余字符串
2015/01/19 Python
Python处理文本文件中控制字符的方法
2017/02/07 Python
Python之Scrapy爬虫框架安装及简单使用详解
2017/12/22 Python
利用Python yagmail三行代码实现发送邮件
2018/05/11 Python
详解python做UI界面的方法
2019/02/27 Python
keras 读取多标签图像数据方式
2020/06/12 Python
Python 如何定义匿名或内联函数
2020/08/01 Python
css3中flex布局宽度不生效的解决
2020/12/09 HTML / CSS
阿联酋彩妆品牌:OUD MILANO
2019/10/06 全球购物
一些.net面试题
2014/10/06 面试题
市场营销毕业生自荐信
2013/11/23 职场文书
信用社主任竞聘演讲稿
2014/05/23 职场文书
公司门卫岗位职责范本
2014/07/08 职场文书
员工趣味活动方案
2014/08/27 职场文书
村主任当选感言
2015/08/01 职场文书
银行客户经理培训心得体会
2016/01/09 职场文书
Pyhton模块和包相关知识总结
2021/05/12 Python
Mysql存储过程、触发器、事件调度器使用入门指南
2022/01/22 MySQL
微信小程序APP的生命周期及页面的生命周期
2022/04/19 Javascript