第五节 克隆 [5]

2016-02-19 12:08 2 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");
?

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

延伸阅读
五章  类 (2) 5.3  类属性     有两种途径揭示类的命名属性——通过域成员或者通过属性。前者是作为具有公共访问性的成员变量而被实现的;后者并不直接回应存储位置,只是通过 存取标志(accessors)被访问。     当你想读出或写入属性的值时,存取标志限定了被实现的语句。用于读...
第五人格线索怎么获得 第五人格的线索获得方式有多种,大致为游戏和充值以及活动三个类型。由于现在刚开服没多久,活动还是有非常多的,同时还有多种角色与商品打折,玩家可以通过活动来积攒线索哦!目前游戏中有的活动一个是推理之径,一个是7日签到,一个是预约活动、还有一个就是幕后挑战宝箱礼物。具体如下: 1、官网活动+预约:官网是有...
第五人格怎么用道具 一般来说部分求生者会自带有工具,工具也许可以循环利用,也许只能使用一次或者数次。很多玩家知道翻找箱子能够找到不同的道具,但是在自带有工具的情况下,是不能直接使用翻箱子找到的道具的。在翻箱子完毕之后,右侧操作界面上方有一个左右尖头,点击进行切换就能使用翻箱子找到的工具了。但是要记住,在有这个状态的时...
标签: PHP
第五章 语法、变量和输出 本章重点 ◆ 了解PHP程序代码的基本法则 ◆ 在变量中储存信息 ◆ 在Web网页中显示输出 在本章中我们会讲解PHP的基本语法,就是所有正规格式用法的PHP程序代码都要遵循的规则。我们还会介绍在PHP程序代码执行如何使用变量储存和撷取信息,最后则谈到在使用者的浏览器窗口中显示文字的最简单方式。 ...
标签: 怀孕 胎动 胎儿
怀孕八个月胎动可知生男生女 很多女性怀孕后,尤其是到了孕晚期准备生产的时候,可能对生男生女尤其好奇,虽然嘴上不在乎,但是也希望能提前知道孩子的性别,很多孕妇说可以通过胎动知道生男生女,那么 怀孕八个月胎动可知生男生女 ?母婴专家指出,胎动的次数并非恒定不变,在妊娠28-38周,是胎动活跃的时期,以后稍减弱,直至分娩。 ...

经验教程

410

收藏

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