第二节 对象模型 [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 array_push 数组函数
Dec 26 PHP
php中实现简单的ACL 完结篇
Sep 07 PHP
在项目中寻找代码的坏命名
Jul 14 PHP
PHP 透明水印生成代码
Aug 27 PHP
PHP设计模式之代理模式的深入解析
Jun 13 PHP
将FCKeditor导入PHP+SMARTY的实现方法
Jan 15 PHP
PHP Web木马扫描器代码分享
Sep 06 PHP
PHP模板引擎Smarty之配置文件在模板变量中的使用方法示例
Apr 11 PHP
Yii2 hasOne(), hasMany() 实现三表关联的方法(两种)
Feb 15 PHP
thinkphp3.2框架中where条件查询用法总结
Aug 13 PHP
TP5框架使用QueryList采集框架爬小说操作示例
Mar 26 PHP
TP5框架实现的数据库备份功能示例
Apr 05 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&mysql(五)
2006/10/09 PHP
poshytip 基于jquery的 插件 主要用于显示微博人的图像和鼠标提示等
2012/10/12 Javascript
在JavaScript中实现类的方式探讨
2013/08/28 Javascript
jQuery form 表单验证插件(fieldValue)校验表单
2016/01/24 Javascript
探讨JavaScript语句的执行过程
2016/01/28 Javascript
jQuery原理系列-常用Dom操作详解
2016/06/07 Javascript
Jquery 自定义事件实现发布/订阅的简单实例
2016/06/12 Javascript
AngularGauge 属性解析详解
2016/09/06 Javascript
浅谈JavaScript的计时器对象
2016/12/26 Javascript
js中数组的常用方法小结
2016/12/30 Javascript
React Native中Navigator的使用方法示例
2017/10/13 Javascript
pace.js和NProgress.js两个加载进度插件的一点小总结
2018/01/31 Javascript
浅谈Koa2框架利用CORS完成跨域ajax请求
2018/03/06 Javascript
vue-router中scrollBehavior的巧妙用法
2018/07/09 Javascript
使用Vue-Awesome-Swiper实现旋转叠加轮播效果&平移轮播效果
2019/08/16 Javascript
js原生map实现的方法总结
2020/01/19 Javascript
js String.prototype.trim字符去前后空格的扩展
2020/08/23 Javascript
[01:28]一分钟告诉你DOTA2 TI9不朽宝藏Ⅱ中有什么!
2019/07/09 DOTA
[02:44]重置世界,颠覆未来——DOTA2 7.23版本震撼上线
2019/12/01 DOTA
python实现文件名批量替换和内容替换
2014/03/20 Python
Python入门及进阶笔记 Python 内置函数小结
2014/08/09 Python
使用Python脚本来获取Cisco设备信息的示例
2015/05/04 Python
利用 Monkey 命令操作屏幕快速滑动
2016/12/07 Python
Python模拟脉冲星伪信号频率实例代码
2018/01/03 Python
python pandas 对时间序列文件处理的实例
2018/06/22 Python
Python用Try语句捕获异常的实例方法
2019/06/26 Python
django使用django-apscheduler 实现定时任务的例子
2019/07/20 Python
需要知道的CSS3动画技术
2010/01/01 HTML / CSS
科颜氏美国官网:Kiehl’s美国
2017/01/31 全球购物
SkinCeuticals官网:美国药妆品牌
2018/04/19 全球购物
什么是View State?
2013/01/27 面试题
优秀学生干部个人的自我评价
2013/10/04 职场文书
讲党性心得体会
2014/09/03 职场文书
美国旅游签证工作证明
2014/10/14 职场文书
用Python监控你的朋友都在浏览哪些网站?
2021/05/27 Python
Axios代理配置及封装响应拦截处理方式
2022/04/07 Vue.js