第二节 对象模型 [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 相关文章推荐
phpmyadmin里面导入sql语句格式的大量数据的方法
Jun 05 PHP
php数字游戏 计算24算法
Jun 10 PHP
浅析php中抽象类和接口的概念以及区别
Jun 27 PHP
PHP连接MySQL查询结果中文显示乱码解决方法
Oct 25 PHP
php curl_init函数用法
Jan 31 PHP
PHP通过插入mysql数据来实现多机互锁实例
Nov 05 PHP
使用PHP实现阻止用户上传成人照片或者裸照
Dec 25 PHP
php使用GD实现颜色渐变实例
Jun 02 PHP
浅析Yii2 GridView 日期格式化并实现日期可搜索教程
Apr 22 PHP
PHP多进程编程实例详解
Jul 19 PHP
bindParam和bindValue的区别以及在Yii2中的使用详解
Mar 12 PHP
php中加密解密DES类的简单使用方法示例
Mar 26 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
Gregarius中文日期格式问题解决办法
2008/04/22 PHP
PHP网站安装程序制作的原理、步骤、注意事项和示例代码
2010/08/01 PHP
THINKPHP2.0到3.0有哪些改进之处
2015/01/04 PHP
XHProf报告字段含义的解析
2016/05/17 PHP
php使用变量动态创建类的对象用法示例
2017/02/06 PHP
php smtp实现发送邮件功能
2017/06/22 PHP
firefox浏览器下javascript 拖动层效果与原理分析代码
2007/12/04 Javascript
javascript 仿QQ滑动菜单效果代码
2010/09/03 Javascript
情人节专属 纯js脚本1k大小的3D玫瑰效果
2012/02/11 Javascript
仿谷歌主页js动画效果实现代码
2013/07/14 Javascript
浅谈JavaScript实现面向对象中的类
2014/12/09 Javascript
jQuery中val()方法用法实例
2014/12/25 Javascript
jQuery获取标签文本内容和html内容的方法
2015/03/27 Javascript
使用Raygun来自动追踪AngularJS中的异常
2015/06/23 Javascript
jquery 实现输入邮箱时自动补全下拉提示功能
2015/10/04 Javascript
Node.js程序中的本地文件操作用法小结
2016/03/06 Javascript
AngularJS入门教程之表单校验用法示例
2016/11/02 Javascript
bootstrap模态框关闭后清除模态框的数据方法
2018/08/10 Javascript
Python连接PostgreSQL数据库的方法
2016/11/28 Python
Django之无名分组和有名分组的实现
2019/04/16 Python
Django 模型类(models.py)的定义详解
2019/07/19 Python
python实现与redis交互操作详解
2020/04/21 Python
Python手动或自动协程操作方法解析
2020/06/22 Python
Pyinstaller打包Scrapy项目的实现步骤
2020/09/22 Python
Kate Spade澳大利亚官方网站:美国设计师手袋品牌
2019/09/10 全球购物
Geekbuying波兰:购买中国电子产品
2019/10/20 全球购物
linux面试题参考答案(10)
2016/10/26 面试题
化工专业大学生职业生涯规划书
2014/01/14 职场文书
电焊工岗位职责
2014/03/06 职场文书
电子商务专业求职信
2014/03/08 职场文书
三八妇女节活动主持词
2014/03/17 职场文书
十佳好少年事迹材料
2014/08/21 职场文书
教师节感恩老师演讲稿
2014/08/28 职场文书
合作协议书范本
2014/10/25 职场文书
初中数学教学随笔
2015/08/15 职场文书
在Windows Server 2012上安装 .NET Framework 3.5 所遇到的问题
2022/04/29 Servers