php实现对象克隆的方法

5年以前  |  阅读数:667 次  |  编程语言:PHP 

本文实例讲述了php实现对象克隆的方法。分享给大家供大家参考。具体如下:


    <?php 
      //定义类staff,其中包括属性id和name 
      class staff  
      { 
       private $id; 
       private $name; 
       function setID($id)  
       { 
         $this->id = $id; 
       } 
       function getID()  
       { 
         return $this->id; 
       } 
       function setName($name)  
       { 
         $this->name = $name; 
       } 
       function getName()  
       { 
         return $this->name; 
       } 
      } 
      //创建一个新的staff对象并初始化 
      $ee1 = new staff(); 
      $ee1->setID("145"); 
      $ee1->setName("Simon"); 
      //克隆一个新的对象 
      $ee2 = clone $ee1; 
      //重新设置新对象的ID值 
      $ee2->setID("146"); 
      //输出ee1和ee2 
      echo "ee1 ID: ".$ee1->getID()."<br>"; 
      echo "ee1 Name: ".$ee1->getName()."<br>"; 
      echo "ee2 ID: ".$ee2->getID()."<br>"; 
      echo "ee2 Name: ".$ee2->getName()."<br>"; 
    ?> 


    <?php 
      //定义类staff,其中包括属性id和name 
      class staff  
      { 
       private $id; 
       private $name; 
       function setID($id)  
       { 
         $this->id = $id; 
       } 
       function getID()  
       { 
         return $this->id; 
       } 
       function setName($name)  
       { 
         $this->name = $name; 
       } 
       function getName()  
       { 
         return $this->name; 
       } 
       //这里是__clone函数 
       function __clone() 
       { 
        $this->id = $this->id + 1; 
       } 
      } 
      //创建一个新的staff对象并初始化 
      $ee1 = new staff(); 
      $ee1->setID("145"); 
      $ee1->setName("Simon"); 
      //克隆一个新的对象 
      $ee2 = clone $ee1; 
      //重新设置新对象的ID值 
      //$ee2->setID("146"); 
      //输出ee1和ee2 
      echo "ee1 ID: ".$ee1->getID()."<br>"; 
      echo "ee1 Name: ".$ee1->getName()."<br>"; 
      echo "ee2 ID: ".$ee2->getID()."<br>"; 
      echo "ee2 Name: ".$ee2->getName()."<br>"; 
    ?> 

希望本文所述对大家的php程序设计有所帮助。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8