第五节--克隆

2016-02-19 17:42 7 1 收藏

下面图老师小编要向大家介绍下第五节--克隆,看起来复杂实则是简单的,掌握好技巧就OK,喜欢就赶紧收藏起来吧!

【 tulaoshi.com - Web开发 】

  /*

  +-------------------------------------------------------------------------------+

  | = 本文为Haohappy读Core PHP Programming

  | = 中Classes and Objects一章的笔记

  | = 翻译为主+个人心得

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

  | = 为避免可能发生的不必要的麻烦请勿转载,谢谢

  | = 欢迎批评指正,希望和所有PHP爱好者共同进步!

  | = PHP5研究中心: http://blog.csdn.net/haohappy2004

  +-------------------------------------------------------------------------------+

  */

  第五节--克隆

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

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

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

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

  下面显示了一个用系列序数来自动化对象的例子:

  

?php     class ObjectTracker //对象跟踪器     {       private static $nextSerial = 0;       private $id;       private $name;       function __construct($name) //构造函数       {         $this-name = $name;         $this-id = ++self::$nextSerial;       }       function __clone() //克隆       {         $this-name = "Clone of $that-name";         $this-id = ++self::$nextSerial;       }       function getId() //获取id属性的值       {         return($this-id);       }       function getName() //获取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");   ? 

  注:本文章为原创文章,版权归文章作者与超越PHP网站所有,未经本站同意,禁止任何商业转载。非盈利网站及个人网站转载请注明出处,谢谢合作!

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

延伸阅读
《行尸走肉第五章》图文攻略 第五章:痛苦的离别亦是新的开始 为了没有接续玩的朋友,说说前情提要。男主角李智勇双全,第一章巧遇小克,第二章血战食人农场(这里最后有辆装满了物资的车,选择拿走还是不拿……有兴趣的朋友可以从这里分选试试,笔者认为有可能影响角色存活积分,但不...
第五章  类(1)        前一章讨论了数据类型和它们的用法。现在我们转移到C#中至关重要的结构——类。没有了类,就连简单的C#程序都不能编译。这一章假定你知道了一个类的基本组成部分:方法、属性、构造函数和析构函数。 C#在其中增加了索引和事件。        ...
第五人格怎么用道具 一般来说部分求生者会自带有工具,工具也许可以循环利用,也许只能使用一次或者数次。很多玩家知道翻找箱子能够找到不同的道具,但是在自带有工具的情况下,是不能直接使用翻箱子找到的道具的。在翻箱子完毕之后,右侧操作界面上方有一个左右尖头,点击进行切换就能使用翻箱子找到的工具了。但是要记住,在有这个状态的时...
第五人格线索怎么获得 第五人格的线索获得方式有多种,大致为游戏和充值以及活动三个类型。由于现在刚开服没多久,活动还是有非常多的,同时还有多种角色与商品打折,玩家可以通过活动来积攒线索哦!目前游戏中有的活动一个是推理之径,一个是7日签到,一个是预约活动、还有一个就是幕后挑战宝箱礼物。具体如下: 1、官网活动+预约:官网是有...
标签: PHP
第五章 语法、变量和输出 本章重点 ◆ 了解PHP程序代码的基本法则 ◆ 在变量中储存信息 ◆ 在Web网页中显示输出 在本章中我们会讲解PHP的基本语法,就是所有正规格式用法的PHP程序代码都要遵循的规则。我们还会介绍在PHP程序代码执行如何使用变量储存和撷取信息,最后则谈到在使用者的浏览器窗口中显示文字的最简单方式。 ...

经验教程

582

收藏

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