PHP 5.0对象模型深度探索之对象复制_CentOS_青云站长教程网
欢迎来到站长教程网!
  • 秒到短信接口 免费试用
  • 微信支付宝接口 秒结算
  • 中文网站排名|申请加入
  • 搜索引擎全站查询
  • 查询移动网站权重数据
  • 海外主机 台湾公司直销
  • CentOS

    当前位置:主页 > 服务器教程 > CentOS >

    PHP 5.0对象模型深度探索之对象复制

    时间:2019-10-10|栏目:CentOS|点击:
  • 默认地,用__clone方法将建立一个与原对象拥有相同属性和方法的对象. 如果你想在克隆时改变默认的内容,你要在__clone中覆写(属性或方法)。

      克隆的方法可以没有参数,但它同时包含this和that指针(that指向被复制的对象)。如果你选择克隆自己,你要小心复制任何你要你的对象包含的信息,从that到this,如果你用__clone来复制,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 $this->name"; 
      $this->id = ++self::$nextSerial; 
     } 

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

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


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

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

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

    责任编辑:自由哥

    上一篇:PHP 5.0对象模型深度探索之属性和方法

    栏    目:CentOS

    下一篇:优化PHP代码的53条建议

    本文标题:PHP 5.0对象模型深度探索之对象复制

    本文地址:http://www.jh-floor.com/fuwuqijiaocheng/CentOS/86936.html

    广告投放 | 联系我们 | 版权申明

    重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

    如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

    联系QQ:888888 | 邮箱:888888#qq.com(#换成@)

    Copyright © 2002-2017 青云站长教程网 版权所有 琼ICP备xxxxxxxx号