PHP 5昨天隆重推出--PHP 5/Zend Engine 2.0新特性
日期:2004年10月20日 作者:清风网络学院 查看:[大字体 中字体 小字体]-
if (!($object instanceof ClassName)) {
die("Argument 1 must be an instance of ClassName");
}
}
?>
本语法只用于对象或类,不适用于内建类型。
final
PHP 5引入了“final”关键字定义在子类中不能被覆盖的成员或方法。
例:
<?php
class Foo {
final function bar() {
// ...
}
}
?>
以前代码中的用户自定义类或方法中虽未定义"final"关键字,但无需编辑即可运行。
对象克隆
PHP 4在对象被复制时,用户不能决定拷贝的机制。在复制时,PHP 4只一位一位地复制一个和原来对象一模一样的复制品。
我们并不是每次都要建立一个完全一样的复制品。一个很好的需要一种复制机制的例子是,当有一个代表一个GTK窗口的对象,它拥有该窗口的所有资源,当你建立一个拷贝时,你可能需要一个新的窗口,它拥有原窗口的所有属性,但需要拥有新窗口的资源。另外一个例子是你有一个对象引用了另外一个对象,当你复制父对象时,你希望建立那个引用对象的新实例,以使复制品引用它。
对一个对象的拷贝通过调用对象的__clone()方法完成:
<?php
$copy_of_object = $object->__clone();
?>
当开发者请求建立一个对象的新的拷贝时,ZEND引擎会检查是否定义了__clone()方法。如果未定义的话,它会调用一个默认的__clone()方法来复制该对象的所有属性。如果定义了该方法,该方法会负责在拷贝中设置必要的属性。为方便起见,引擎会提供一个函数从源对象中导入所有的属性,这样它就可以先得到一个具有值的源对象拷贝,只需要对需要改变的属性进行覆盖即可。
例:
<?php
class MyCloneable {
static $id = 0;
function MyCloneable() {
$this->id = self::$id++;
}
function __clone() {
$this->name = $that->name;
$this->address = "New York";
$this->id = self::$id++;
}
}
$obj = new MyCloneable();
$obj->name = "Hello";
$obj->address = "Tel-Aviv";
print $obj->id . "\n";
$obj = $obj->__clone();
print $obj->id . "\n"; - 上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] 下一页
-
- PHP 5昨天隆重推出--PHP 5/Zend Engine 2.0新特性 相关文章:
- ·卡巴斯基发布8.0版最新特性(附下载)
- ·SQL Server 2008的新压缩特性
- ·下代Windows Server2008 IIS 7.0特性
- ·被忽略的Win Server 2008九大特性
- ·被忽略的Windows Server 2008几大特性
- ·SQL Server 2008 几项新特性概述
- ·VS 2008和.NET 3.5 Beta2新特性介绍
- ·足够安全 深挖Vista安全特性
- ·深入理解C# 3.x的新特性系列总结
- ·关于C#3.0 新特性之对象构造者
- PHP 5昨天隆重推出--PHP 5/Zend Engine 2.0新特性 相关软件
- ·《世界冲突》DX10特性宣传片
- ·《极品飞车11》E3 物理特性宣传片
- ·Java 编程-JDK Edt1.4新特性介绍
- ·3dMAX5.0新特性
- ·诺基亚JAVA电话特性(中文)
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
下一篇:对盗链说再见...
精品推荐
热点TOP10
- ·一个Struts实现分页,增删改查,Tiles,国际化的DEMO
- ·学习教程:Java Annotation 高级应用
- ·Windows XP下PHP+MySQL环境搭建
- ·smarty技术学习,修改php模板的一点体会
- ·详细学习PHP中对文件和目录的操作方法
- ·PHP中删除目录的三种方法
- ·PHP入门指导:如何学习PHP?
- ·帝国ecms教程:一些常用的技巧大全
- ·PHP5中新增加的日期(date)函数的常量
- ·最普通的7种软文类型
- ·PHP连接远程MYSQL和MYSQL5.1中文乱码处理方法
- ·PHP:实现给上传图片加水印的程序代码
- ·PHP入门:define的使用
- ·PHP动态网站开发中常用的8个小技巧
- ·PHP上传文件的代码
- ·PHP 开发中的中文编码问题
- ·PHP5对Mysql5的任意数据库表的管理代码示例(二)
- ·ASP使用Filter实现信息的二次检索
- ·PHP程序中使用session错误调试问题
- ·PHP实例:实现文件上传的程序源码
特别推荐
- ·PHP入门指导:如何学习PHP?
- ·Php+Mysql注入专题
- ·PHP:实现给上传图片加水印的程序代码
- ·PHP动态网站开发中常用的8个小技巧
- ·PHP初学者:配置Apache服务器并且设置DNS
- ·初学PHP指导:php.ini 配置详细选项
- ·好文分享:PHP入门的学习方法
- ·急速搭建属于自己的Discuz!6论坛
- ·PHP入门:初学来看配置文件PHP.INI的中文注释
- ·php.ini配置,php.ini 中的 php-5.2.0 配置指令详解
- ·总结:一些PHP学习过程中的心得和经验
- ·新手入门:JSP初学者必须掌握的语法点
- ·PHP技巧:PHP脚本编程中的文件系统函数库
- ·详细讲解PHP编程中分页显示的制作
- ·成为PHP编程高手应该遵循的三个准则
- ·谈谈生成静态页面的一些经验
- ·新手入门:详细解述七个软件开发的原则
- ·简单的webservice开发例子
- ·PHP木马攻击的防御之道
- ·基础入门:动态网页制作PHP中Session的概念
