主页 M

php实现对象克隆的方法

2015-06-22 网页编程网 网页编程网

<?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>";

?>

阅读原文
阅读 3527
123 显示电脑版