第二节 对象模型 [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 相关文章推荐
Email+URL的判断和自动转换函数
Oct 09 PHP
ajax缓存问题解决途径
Dec 06 PHP
php入门学习知识点六 PHP文件的读写操作代码
Jul 14 PHP
PHP-redis中文文档介绍
Feb 07 PHP
解析thinkphp import 文件内容变量失效的问题
Jun 20 PHP
PHP 读取大文件的X行到Y行内容的实现代码
Jun 24 PHP
实测在class的function中include的文件中非php的global全局环境
Jul 15 PHP
PHP和C#可共用的可逆加密算法详解
Oct 26 PHP
100多行PHP代码实现socks5代理服务器[2]
May 05 PHP
PHP模块化安装教程
Jun 01 PHP
php基于PDO实现功能强大的MYSQL封装类实例
Feb 27 PHP
php的常量和变量实例详解
Jun 27 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 表单验证实现代码
2009/03/10 PHP
php模拟ping命令(php exec函数的使用方法)
2013/10/25 PHP
php限制ip地址范围的方法
2015/03/31 PHP
php官方微信接口大全(微信支付、微信红包、微信摇一摇、微信小店)
2015/12/21 PHP
WordPress特定文章对搜索引擎隐藏或只允许搜索引擎查看
2015/12/31 PHP
YII2框架中excel表格导出的方法详解
2017/07/21 PHP
TNC vs IO BO3 第一场2.13
2021/03/10 DOTA
Javascript 闭包引起的IE内存泄露分析
2012/05/23 Javascript
原生javascript实现的分页插件pagenav
2014/08/28 Javascript
javascript模拟map输出与去除重复项的方法
2015/02/09 Javascript
详解JavaScript函数对象
2015/11/15 Javascript
javascript实现很浪漫的气泡冒出特效
2020/09/05 Javascript
Fullpage.js固定导航栏-实现定位导航栏
2016/03/17 Javascript
第一次接触JS require.js模块化工具
2016/04/17 Javascript
react-router JS 控制路由跳转实例
2017/06/15 Javascript
浅谈mint-ui loadmore组件注意的问题
2017/11/08 Javascript
微信小程序实现图片上传、删除和预览功能的方法
2017/12/18 Javascript
Angular实现下拉框模糊查询功能示例
2018/01/03 Javascript
nodejs高大上的部署方式(PM2)
2018/09/11 NodeJs
[50:15]VP vs Mineski 2018国际邀请赛淘汰赛BO3 第二场 8.22
2018/08/23 DOTA
Python语法快速入门指南
2015/10/12 Python
浅谈python中set使用
2016/06/30 Python
python实现随机调用一个浏览器打开网页
2018/04/21 Python
PyCharm代码格式调整方法
2018/05/23 Python
pytorch训练imagenet分类的方法
2018/07/27 Python
PyCharm搭建Spark开发环境实现第一个pyspark程序
2019/06/13 Python
Python模拟登录requests.Session应用详解
2020/11/17 Python
python 写一个水果忍者游戏
2021/01/13 Python
让IE6、IE7、IE8支持CSS3的脚本
2010/07/20 HTML / CSS
Html5游戏开发之乒乓Ping Pong游戏示例(一)
2013/01/21 HTML / CSS
学校政风行风自查自纠报告
2014/10/21 职场文书
2015年环境整治工作总结
2015/05/22 职场文书
2015秋学期开学寄语
2015/05/28 职场文书
读鲁迅先生的经典名言
2019/08/20 职场文书
Python基础之元编程知识总结
2021/05/23 Python
Python OpenCV超详细讲解调整大小与图像操作的实现
2022/04/02 Python