第五节 克隆 [5]

2016-02-19 12:08 4 1 收藏

最近很多朋友喜欢上设计,但是大家却不知道如何去做,别担心有图老师给你解答,史上最全最棒的详细解说让你一看就懂。

【 tulaoshi.com - Web开发 】


PHP5中的对象模型通过引用来调用对象, 但有时你可能想建立一个对象的副本,并希望原来的对象的改变不影响到副本 . 为了这样的目的,PHP定义了一个特殊的方法,称为__clone. 像__construct和__destruct一样,前面有两个下划线.

默认地,用__clone方法将建立一个与原对象拥有相同属性和方法的对象. 如果你想在克隆时改变默认的内容,你要在__clone中覆写(属性或方法).

克隆的方法可以没有参数,但它同时包含this和that指针(that指向被复制的对象). 如果你选择克隆自己,你要小心复制任何你要你的对象包含的信息,从that到this. 如果你用__clone来复制. PHP不会执行任何隐性的复制,

下面显示了一个用系列序数来自动化对象的例子:  ?php
class ObjectTracker file://对象跟踪器
{
private static $nextSerial = 0;
private $id;
private $name;

function __construct($name) file://构造函数
{
$this-name = $name;
$this-id = ++self::$nextSerial;
}

function __clone() file://克隆
{
$this-name = "Clone of $that-name";
$this-id = ++self::$nextSerial;
}

function getId() file://获取id属性的值
{
return($this-id);
}

function getName() file://获取name属性的值
{
return($this-name);
}
}

$ot = new ObjectTracker("Zeev's Object");
$ot2 = $ot-__clone();

//输出: 1 Zeev's Object
print($ot-getId() . " " . $ot-getName() . "br");

//输出: 2 Clone of Zeev's Object
print($ot2-getId() . " " . $ot2-getName() . "br");
?

来源:http://www.tulaoshi.com/n/20160219/1599957.html

延伸阅读
标签: 分娩
· 在线读书: 《我的孩子是“中等生”》 宠物 有朋友要送我们一条小狗,妻子说:“我们不用养猫养狗的,儿子就是我们家的宠物。” ◎…………………………………………………………………………………………… 捉迷藏 电视里正演猫追老鼠的迪斯尼动画片,儿子说:“他们在捉迷藏呢。”在幼儿的心目中,没有仇恨与敌...
《行尸走肉第五章》图文攻略 第五章:痛苦的离别亦是新的开始 为了没有接续玩的朋友,说说前情提要。男主角李智勇双全,第一章巧遇小克,第二章血战食人农场(这里最后有辆装满了物资的车,选择拿走还是不拿……有兴趣的朋友可以从这里分选试试,笔者认为有可能影响角色存活积分,但不...
第五章  类(1)        前一章讨论了数据类型和它们的用法。现在我们转移到C#中至关重要的结构——类。没有了类,就连简单的C#程序都不能编译。这一章假定你知道了一个类的基本组成部分:方法、属性、构造函数和析构函数。 C#在其中增加了索引和事件。        ...
第五人格怎么用道具 一般来说部分求生者会自带有工具,工具也许可以循环利用,也许只能使用一次或者数次。很多玩家知道翻找箱子能够找到不同的道具,但是在自带有工具的情况下,是不能直接使用翻箱子找到的道具的。在翻箱子完毕之后,右侧操作界面上方有一个左右尖头,点击进行切换就能使用翻箱子找到的工具了。但是要记住,在有这个状态的时...
第五人格线索怎么获得 第五人格的线索获得方式有多种,大致为游戏和充值以及活动三个类型。由于现在刚开服没多久,活动还是有非常多的,同时还有多种角色与商品打折,玩家可以通过活动来积攒线索哦!目前游戏中有的活动一个是推理之径,一个是7日签到,一个是预约活动、还有一个就是幕后挑战宝箱礼物。具体如下: 1、官网活动+预约:官网是有...

经验教程

973

收藏

20
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部