第二节 对象模型 [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新手上路(四)
Oct 09 PHP
PHP的中问验证码
Nov 25 PHP
PHP的变量总结 新手推荐
Apr 18 PHP
深入了解 register_globals (附register_globals=off 网站打不开的解决方法)
Jun 27 PHP
PHP CLI模式下的多进程应用分析
Jun 03 PHP
PHP获取和操作配置文件php.ini的几个函数介绍
Jun 24 PHP
php批量删除数据库下指定前缀的表以prefix_为例
Aug 24 PHP
PHP 二维关联数组根据其中一个字段排序(推荐)
Apr 04 PHP
php表单文件iframe异步上传实例讲解
Jul 26 PHP
PHP实现的Redis多库选择功能单例类
Jul 27 PHP
PHP后台实现微信小程序登录
Aug 03 PHP
Laravel中获取IP的真实地理位置
Apr 01 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
Terran历史背景
2020/03/14 星际争霸
深入理解:XML与对象的序列化与反序列化
2013/06/08 PHP
PHP中include与require使用方法区别详解
2013/10/19 PHP
ThinkPHP模板引擎之导入资源文件方法详解
2014/06/18 PHP
php array_values 返回数组的所有值详解及实例
2016/11/12 PHP
Centos7.7 64位利用本地完整安装包安装lnmp/lamp套件教程
2021/03/09 Servers
js 获取中文拼音,Select自动匹配字母获取值的代码
2009/09/23 Javascript
EASYUI TREEGRID异步加载数据实现方法
2012/08/22 Javascript
jquery $(this).attr $(this).val方法使用介绍
2013/10/08 Javascript
javascript设置金额样式转换保留两位小数示例代码
2013/12/04 Javascript
javascript函数重载解决方案分享
2014/02/19 Javascript
鼠标滑过出现预览的大图提示效果
2014/02/26 Javascript
jQuery实现div随意拖动的实例代码(通用代码)
2016/01/28 Javascript
原生JS实现-星级评分系统的简单实例
2016/08/21 Javascript
前端弹出对话框 js实现ajax交互
2016/09/09 Javascript
JavaScript基础之AJAX简单的小demo
2017/01/29 Javascript
详解React Native顶|底部导航使用小技巧
2017/09/14 Javascript
Bootstrap-table使用footerFormatter做统计列功能
2018/09/07 Javascript
vue中组件通信详解(父子组件, 爷孙组件, 兄弟组件)
2020/07/27 Javascript
python bottle框架支持jquery ajax的RESTful风格的PUT和DELETE方法
2017/05/24 Python
python实现排序算法解析
2018/09/08 Python
python 将dicom图片转换成jpg图片的实例
2020/01/13 Python
Python tkinter模版代码实例
2020/02/05 Python
keras中模型训练class_weight,sample_weight区别说明
2020/05/23 Python
Python selenium环境搭建实现过程解析
2020/09/08 Python
python实现数学模型(插值、拟合和微分方程)
2020/11/13 Python
Pyside2中嵌入Matplotlib的绘图的实现
2021/02/22 Python
阿玛尼美国官方网站:Armani.com
2016/11/25 全球购物
英语系本科生求职信范文
2013/12/18 职场文书
团日活动总结书
2014/05/08 职场文书
班主任先进事迹材料
2014/12/17 职场文书
前台接待岗位职责范本
2015/04/03 职场文书
2015年采购部工作总结
2015/04/23 职场文书
2015年出纳工作总结与计划
2015/05/18 职场文书
Jupyter Notebook 如何修改字体和大小以及更改字体样式
2021/06/03 Python
Spring Boot 底层原理基础深度解析
2022/04/03 Java/Android