第二节 对象模型 [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 相关文章推荐
第十二节--类的自动加载
Nov 16 PHP
PHP一些常用的正则表达式字符的一些转换
Jul 29 PHP
PHP中=赋值操作符对不同数据类型的不同行为
Jan 02 PHP
那些年我们错过的魔术方法(Magic Methods)
Jan 14 PHP
PHP合并静态文件详解
Nov 14 PHP
php使用function_exists判断函数可用的方法
Nov 19 PHP
php正则匹配文章中的远程图片地址并下载图片至本地
Sep 29 PHP
php类中的$this,static,final,const,self这几个关键字使用方法
Dec 14 PHP
PHP编写登录验证码功能 附调用方法
May 19 PHP
深入理解PHP之源码目录结构与功能说明
Jun 01 PHP
php实现的中文分词类完整实例
Feb 06 PHP
HTTP头隐藏PHP版本号实现过程解析
Dec 09 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
解析将多维数组转换为支持curl提交的一维数组格式
2013/07/08 PHP
PHP5.4起内置web服务器使用方法
2016/08/09 PHP
jQuery+CSS实现菜单滑动伸展收缩(仿淘宝)
2013/03/22 Javascript
js采用map取到id集合组并且实现点击一行选中一行
2013/12/16 Javascript
javascript另类方法实现htmlencode()与htmldecode()函数实例分析
2016/11/17 Javascript
AngularJS报错$apply already in progress的解决方法分析
2017/01/30 Javascript
Node.js 基础教程之全局对象
2017/08/06 Javascript
vue如何在自定义组件中使用v-model
2018/05/14 Javascript
详解JavaScript实现动态的轮播图效果
2019/04/29 Javascript
layui form表单提交之后重新加载数据表格的方法
2019/09/11 Javascript
js实现双色球效果
2020/08/02 Javascript
vue 使用class创建和清除水印的示例代码
2020/12/25 Vue.js
在类Unix系统上开始Python3编程入门
2015/08/20 Python
Python如何为图片添加水印
2016/11/25 Python
Python3 循环语句(for、while、break、range等)
2017/11/20 Python
Django 根据数据模型models创建数据表的实例
2018/05/27 Python
python操作excel的包(openpyxl、xlsxwriter)
2018/06/11 Python
Django中使用第三方登录的示例代码
2018/08/20 Python
pyqt5实现登录界面的模板
2020/05/30 Python
python通过paramiko复制远程文件及文件目录到本地
2019/04/30 Python
python pygame实现五子棋小游戏
2020/10/26 Python
对django后台admin下拉框进行过滤的实例
2019/07/26 Python
如何在python开发工具PyCharm中搭建QtPy环境(教程详解)
2020/02/04 Python
python使用python-pptx删除ppt某页实例
2020/02/14 Python
pycharm运行程序时看不到任何结果显示的解决
2020/02/21 Python
CSS3动画效果回调处理详解
2014/12/10 HTML / CSS
美国新兴城市生活方式零售商:VILLA
2017/12/06 全球购物
分布式数据库需要考虑哪些问题
2013/12/08 面试题
幼儿园教师个人反思
2014/01/30 职场文书
乡镇网格化管理实施方案
2014/03/23 职场文书
《假如》教学反思
2014/04/17 职场文书
授权委托书格式
2014/07/31 职场文书
廉洁自律承诺书2015
2015/01/22 职场文书
2015年新农村建设工作总结
2015/05/22 职场文书
财务人员廉洁自律心得体会
2016/01/13 职场文书
详解Java实践之建造者模式
2021/06/18 Java/Android