第二节 对象模型 [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 相关文章推荐
Adodb的十个实例(清晰版)
Dec 31 PHP
Discuz! 5.0.0论坛程序中加入一段js代码,让会员点击下载附件前自动弹出提示窗口
Apr 18 PHP
允许phpmyadmin空密码登录的配置方法
May 29 PHP
那些年一起学习的PHP(二)
Mar 21 PHP
PHP传参之传值与传址的区别
Apr 24 PHP
详解PHP的Yii框架的运行机制及其路由功能
Mar 17 PHP
PHP中overload与override的区别
Feb 13 PHP
YII2框架中使用yii.js实现的post请求
Apr 09 PHP
Yii2框架中使用PHPExcel导出Excel文件的示例
Aug 09 PHP
PHP简单实现防止SQL注入的方法
Mar 13 PHP
PHP树形结构tree类用法示例
Feb 01 PHP
php文件包含的几种方式总结
Sep 19 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连接Oracle for NT 远程数据库
2006/10/09 PHP
PHP启动windows应用程序、执行bat批处理、执行cmd命令的方法(exec、system函数详解)
2014/10/20 PHP
PHP检测用户是否关闭浏览器的方法
2016/02/14 PHP
php抽象方法和抽象类实例分析
2016/12/07 PHP
php字符串截取函数mb_substr用法实例分析
2019/06/25 PHP
基于Jquery制作的幻灯片图集效果打包下载
2011/02/12 Javascript
js自动生成的元素与页面原有元素发生堆叠的解决方法
2013/10/24 Javascript
jQuery拖拽div实现思路
2014/02/19 Javascript
javasciprt下jquery函数$.post执行无响应的解决方法
2014/03/13 Javascript
简单谈谈javascript代码复用模式
2015/01/28 Javascript
javascript中类的定义方式详解(四种方式)
2015/12/22 Javascript
Bootstrap Scrollspy源码学习
2017/03/02 Javascript
BootStrap daterangepicker 双日历控件
2017/06/02 Javascript
Easyui Datagrid自定义按钮列(最后面的操作列)
2017/07/13 Javascript
vue 右键菜单插件 简单、可扩展、样式自定义的右键菜单
2018/11/29 Javascript
kafka调试中遇到Connection to node -1 could not be established. Broker may not be available.
2019/09/17 Javascript
[07:55]2014DOTA2 TI正赛第三日 VG上演推进荣耀DKEG告别
2014/07/21 DOTA
Python实例之wxpython中Frame使用方法
2014/06/09 Python
解析Python中的生成器及其与迭代器的差异
2016/06/20 Python
Python使用装饰器进行django开发实例代码
2018/02/06 Python
python Celery定时任务的示例
2018/03/13 Python
手把手教你如何安装Pycharm(详细图文教程)
2018/11/28 Python
python+unittest+requests实现接口自动化的方法
2018/11/29 Python
解决Python 命令行执行脚本时,提示导入的包找不到的问题
2019/01/19 Python
python3.6根据m3u8下载mp4视频
2019/06/17 Python
关于ZeroMQ 三种模式python3实现方式
2019/12/23 Python
Pytorch转tflite方式
2020/05/25 Python
python有几个版本
2020/06/17 Python
贝嫂喜欢的婴儿品牌,个性化的婴儿礼物:My 1st Years
2017/11/19 全球购物
廉价连衣裙和婚纱礼服在线销售:Tbdress
2019/02/28 全球购物
中专生职业生涯规划书范文
2013/12/29 职场文书
经理助理岗位职责
2014/03/05 职场文书
运动会稿件100字
2014/09/24 职场文书
对党的十八届四中全会的期盼
2014/10/17 职场文书
设备技术员岗位职责
2015/04/11 职场文书
学生退学证明
2015/06/23 职场文书