第二节 对象模型 [2]
PHP5有一个单重继承的,限制访问的,可以重载的对象模型. 本章稍后会详细讨论的”继承”,包含类间的父-子关系. 另外,PHP支持对属性和方法的限制性访问. 你可以声明成员为private,不允许外部类访问. 最后,PHP允许一个子类从它的父类中重载成员.
file://haohappy注:PHP4中没有private,只有public.private对于更好地实现封装很有好处.
PHP5的对象模型把对象看成与任何其它数据类型不同,通过引用来传递. PHP不要求你通过引用(reference)显性传递和返回对象. 在本章的最后将会详细阐述基于句柄的对象模型. 它是PHP5中最重要的新特性.
有了更直接的对象模型,基于句柄的体系有附加的优势: 效率提高, 占用内存少,并且具有更大的灵活性.
在PHP的前几个版本中,脚本默认复制对象.现在PHP5只移动句柄,需要更少的时间. 脚本执行效率的提升是由于避免了不必要的复制. 在对象体系带来复杂性的同时,也带来了执行效率上的收益. 同时,减少复制意味着占用更少的内存,可以留出更多内存给其它操作,这也使效率提高.
file://haohappy注:基于句柄,就是说两个对象可以指向同一块内存,既减少了复制动作,又减少对内存的占用.
Zand引擎2具有更大的灵活性. 一个令人高兴的发展是允许析构--在对象销毁之前执行一个类方法. 这对于利用内存也很有好处,让PHP清楚地知道什么时候没有对象的引用,把空出的内存分配到其它用途。
相关推荐
-
第二节 对象模型 [2]
PHP5有一个单重继承的,限制访问的,可以重载的对象模型. 本章稍后会详细讨论的"继承",包含类间的父-子关系. 另外,PHP支持对属性和方法的限制性访问. 你可以声明成员为private,不允许外部类访问. 最后,PHP允许一个子类从它的父类中重载成员. file://haohappy注:PHP4中没有private,只有public.private对于更好地实现封装很有好处. PHP5的对象模型把对象看成与任何其它数据类型不同,通过引用来传递. PHP不要求你通过引用(refere
-
第二节--PHP5 的对象模型
/* +-------------------------------------------------------------------------------+ | = 本文为Haohappy读<<Core PHP Programming>> | = 中Classes and Objects一章的笔记 | = 翻译为主+个人心得 | = 为避免可能发生的不必要的麻烦请勿转载,谢谢 | = 欢迎批评指正,希望和所有PHP爱好者共同进步! | = PHP5研究中心:
-
PHP 第二节 数据类型之数组
PHP 中的 数组 实际上是一个有序映射.映射是一种把 values 关联到 keys 的类型.此类型在很多方面做了优化,因此可以把它当成真正的数组,或列表(向量),散列表(是映射的一种实现),字典,集合,栈,队列以及更多可能性.数组元素的值也可以是另一个数组.树形结构和多维数组也是允许的. 可以用 array() 语言结构来新建一个 array.它接受任意数量用逗号分隔的 键(key) => 值(value) 对. key 可以是 integer 或者 string.如果key是一个 inte
-
PHP 第二节 数据类型之转换
在下列情况下一个变量被认为是 NULL: 被赋值为 NULL. 尚未被赋值. 被 unset(). NULL 类型只有一个值,就是大小写不敏感的关键字 NULL(你可以写成NULL,也可以写成null). 将一个变量转换为 null 类型将会删除该变量并且unset它的值. 类型转换 PHP 在变量定义中不需要(或不支持)明确的类型定义:变量类型是根据使用该变量的上下文所决定的.也就是说,如果把一个字符串值赋给变量 var,var 就成了一个字符串.如果又把一个整型值赋给 var,那它就成了一个
-
PHP 第二节 数据类型之字符串类型
PHP中一个字符串可以通过下面的4种方式来定义: 单引号 双引号 heredoc 语法结构 nowdoc 语法结构 (自PHP 5.3.0以后) 单引号 定义一个字符串 的最简单的方法是用单引号把它包围起来 (标点符号 '). 如果想要输出一个单引号,需在它的前面加个反斜线 (\).在单引号前或在字符串的结尾处 想要输出反斜线,输入两条 (\\).注意,如果在任何其它的字符前加了反斜线,反斜线将会被直接输出. Note: 不像双引号 和heredoc语法结构, 在单引号字符串中的变量 和特殊含义
-
PHP 第二节 数据类型之数值型
PHP 支持8种基本的数据类型. 四种标量类型: boolean (布尔型) integer (整型) float (浮点型, 也称作 double) string (字符串) 两种复合类型: array (数组) object (对象) 最后是两种特殊类型: resource (资源) NULL (NULL) boolean数据类型: 取值只能为True或者False,当其他类型转化为boolean类型时,以下值被认为是 FALSE: the 布尔值 FALSE 自身 the 整型值 0 (零
-
一步一步跟我学易语言之第二个易程序菜单设计
下面用一个例程来详细说明,请新建一个程序,进行以下输入操作: 1.在_启动窗口中加入一个画板和一个按钮: 2.使用第二节中所介绍的方法加入四个空常量,将它们分别改为以下内容: 3.使用第三节中所介绍的方法加入一个空图片资源,将其名称改为"测试图片",然后单击"内容"栏或者在其上按下空格,随意导入一个图片文件后,单击"加入/修改到程序并关闭对话框"按钮返回,此时图片数据将被保存入 易程序文件中,图片文件不再被需要: 4.使用第三节中所介绍的方法加入
-
深入理解Angular中的依赖注入
一.什么是依赖注入 控制反转(IoC) 控制反转的概念最早在2004年由Martin Fowler提出,是针对面向对象设计不断复杂化而提出的一种设计原则,是利用面向对象编程法则来降低应用耦合的设计模式. IoC强调的是对代码引用的控制权由调用方转移到了外部容器,在运行是通过某种方式注入进来,实现了控制反转,这大大降低了程序之间的耦合度.依赖注入是最常用的一种实现IoC的方式,另一种是依赖查找. 依赖注入(Dependency Injection) 当然,按照惯例我们应该举个例子, 哦对,我们主要
-
bat命令入门与高级技巧详解
目录 第一章 批处理基础 第一节 常用批处理内部命令简介 1.REM 和 :: 2.ECHO 和 @ 3.PAUSE 4.ERRORLEVEL 5.TITLE 6.COLOR 7.mode 配置系统设备 8.GOTO 和 : 9.FIND 10.START 11.assoc 和 ftype 12.pushd 和 popd 13.CALL 14.shift 15.IF 16.setlocal 与 变量延迟(ENABLEDELAYEDEXPANSION / DISABLEDELAYEDEXPANSI
-
JavaScript实现的XML与JSON互转功能详解
本文实例讲述了JavaScript实现的XML与JSON互转功能.分享给大家供大家参考,具体如下: 这里来分享一个关于JavaScript实现XML与JSON互转例子,这里面介绍了国外的三款xml转json的例子,希望这些例子能给你带来帮助. 最近在开发在线XML编辑器,打算使用JSON做为中间格式.因为JSON相对于XML,有着容易阅读.解析速度快.占用空间小等优点,更易于在WEB上传递数据.但在实际使用中还是发现了一些易于忽略的细节,对于需要严格保证XML原始结构的情况,在转换成JSON时需
随机推荐
- 网页播放器Object使用详解
- oracle逻辑运算符与其优先级简介
- Java多线程实现异步调用的方法
- JAVA String转化成java.sql.date和java.sql.time方法示例
- 如何制作幻灯片(代码分享)
- ASP.NET使用GridView导出Excel实现方法
- php中ob_get_length缓冲与获取缓冲长度实例
- 详细介绍PHP应用提速面面观
- ASP中如何判断一个字符是不是汉字
- javascript学习基础笔记之DOM对象操作
- 记录PHP错误日志 display_errors与log_errors的区别
- Linux通过命令压缩与解压缩的方法| tar, tar.gz, tar.bz2
- javascript轮播图算法
- 基于OL2实现百度地图ABCD marker的效果
- jquery ready(fn)事件使用介绍
- 用jQuery获取table中行id和td值的实现代码
- 自己做一款不错的二级导航菜单
- js中键盘事件实例简析
- JS获取文本框,下拉框,单选框的值的简单实例
- 完美解决一开机就自动打开记事本的办法