第二节--PHP5 的对象模型


Posted in PHP onNovember 16, 2006

/*
+-------------------------------------------------------------------------------+
| = 本文为Haohappy读<<Core PHP Programming>> 
| = 中Classes and Objects一章的笔记 
| = 翻译为主+个人心得 
| = 为避免可能发生的不必要的麻烦请勿转载,谢谢 
| = 欢迎批评指正,希望和所有PHP爱好者共同进步! 
| = PHP5研究中心: http://blog.csdn.net/haohappy2004
+-------------------------------------------------------------------------------+
*/

第二节--PHP5 的对象模型

PHP5有一个单重继承的,限制访问的,可以重载的对象模型. 本章稍后会详细讨论的”继承”,包含类间的父-子关系. 另外,PHP支持对属性和方法的限制性访问. 你可以声明成员为private,不允许外部类访问. 最后,PHP允许一个子类从它的父类中重载成员.

//haohappy注:PHP4中没有private,只有public.private对于更好地实现封装很有好处.

PHP5的对象模型把对象看成与任何其它数据类型不同,通过引用来传递. PHP不要求你通过引用(reference)显性传递和返回对象. 在本章的最后将会详细阐述基于句柄的对象模型. 它是PHP5中最重要的新特性.

有了更直接的对象模型,基于句柄的体系有附加的优势: 效率提高, 占用内存少,并且具有更大的灵活性.

在PHP的前几个版本中,脚本默认复制对象.现在PHP5只移动句柄,需要更少的时间. 脚本执行效率的提升是由于避免了不必要的复制. 在对象体系带来复杂性的同时,也带来了执行效率上的收益. 同时,减少复制意味着占用更少的内存,可以留出更多内存给其它操作,这也使效率提高.

//haohappy注:基于句柄,就是说两个对象可以指向同一块内存,既减少了复制动作,又减少对内存的占用.

Zand引擎2具有更大的灵活性. 一个令人高兴的发展是允许析构--在对象销毁之前执行一个类方法. 这对于利用内存也很有好处,让PHP清楚地知道什么时候没有对象的引用,把空出的内存分配到其它用途. 

PHP 相关文章推荐
PHP4之真OO
Oct 09 PHP
PHP Document 代码注释规范
Apr 13 PHP
php 网页游戏开发入门教程一(webgame+design)
Oct 26 PHP
关于php curl获取301或302转向的网址问题的解决方法
Jun 02 PHP
php 根据url自动生成缩略图并处理高并发问题
Jan 23 PHP
C#使用PHP服务端的Web Service通信实例
Apr 08 PHP
ThinkPHP模板输出display用法分析
Nov 26 PHP
分享下php5类中三种数据类型的区别
Jan 26 PHP
在Mac OS上自行编译安装Apache服务器和PHP解释器
Dec 24 PHP
基于PHP制作验证码
Oct 12 PHP
php进行md5加密简单实例方法
Sep 19 PHP
PHP图像处理 imagestring添加图片水印与文字水印操作示例
Feb 06 PHP
第一节--面向对象编程
Nov 16 #PHP
MYSQL数据库初学者使用指南
Nov 16 #PHP
php.ini 中文版
Oct 28 #PHP
一个可以找出源代码中所有中文的工具
Oct 25 #PHP
《APMServ 5.1.2》使用图解
Oct 23 #PHP
APMServ使用说明
Oct 23 #PHP
别人整理的服务器变量:$_SERVER
Oct 20 #PHP
You might like
php在线打包程序源码
2008/07/27 PHP
安装ImageMagick出现error while loading shared libraries的解决方法
2014/09/23 PHP
php常用文件操作函数汇总
2014/11/22 PHP
浅谈本地WAMP环境的搭建
2015/05/13 PHP
php实现CSV文件导入和导出
2015/10/24 PHP
Yii 使用intervention/image拓展实现图像处理功能
2019/06/22 PHP
Laravel5.5 手动分页和自定义分页样式的简单实现
2019/10/15 PHP
JavaScript高级程序设计(第3版)学习笔记9 js函数(下)
2012/10/11 Javascript
javascript计算用户打开网页的停留时间
2014/01/09 Javascript
JavaScript中的toLocaleLowerCase()方法使用详解
2015/06/06 Javascript
基于JavaScript实现鼠标箭头移动图片跟着移动
2016/08/30 Javascript
深入理解jQuery.data() 的实现方式
2016/11/30 Javascript
详谈for循环里面的break和continue语句
2017/07/20 Javascript
vuejs实现折叠面板展开收缩动画效果
2018/09/06 Javascript
angular 实现同步验证器跨字段验证的方法
2019/04/11 Javascript
vue 解决addRoutes多次添加路由重复的操作
2020/08/04 Javascript
夯基础之手撕javascript继承详解
2020/11/09 Javascript
vue.js+element 默认提示中英文操作
2020/11/11 Javascript
django输出html内容的实例
2018/05/27 Python
在python中使用xlrd获取合并单元格的方法
2018/12/26 Python
在Python中字典根据多项规则排序的方法
2019/01/21 Python
Python字符串的常见操作实例小结
2019/04/08 Python
python 函数中的内置函数及用法详解
2019/07/02 Python
在python中logger setlevel没有生效的解决
2020/02/21 Python
Django ORM判断查询结果是否为空,判断django中的orm为空实例
2020/07/09 Python
雪花秀美国官方网站:韩国著名草本护肤化妆品品牌
2016/10/19 全球购物
Hotels.com香港酒店网:你的自由行酒店订房专家
2018/01/22 全球购物
刘胡兰的英雄事迹材料
2014/02/11 职场文书
知识竞赛活动方案
2014/02/18 职场文书
情况说明书格式范文
2014/05/06 职场文书
涉及车辆房产分割的离婚协议书范文
2014/10/12 职场文书
夫妻双方自愿离婚协议书怎么写
2014/12/01 职场文书
导游欢迎词范文
2015/01/23 职场文书
幼儿园五一劳动节活动总结
2015/02/09 职场文书
生产车间管理制度
2015/08/04 职场文书
python实现自动清理文件夹旧文件
2021/05/10 Python