A-A+

php实现对象克隆的方法

2021年06月02日 我爱编程 暂无评论

这篇文章主要介绍了php实现对象克隆的方法,实例分析了php对象实例化与克隆的使用技巧,需要的朋友可以参考下,本文实例讲述了php实现对象克隆的方法。分享给大家供大家参考,具体如下:

  1. <?php
  2.   //定义类staff,其中包括属性id和name 
  3.   class staff
  4.   {
  5.    private $id;
  6.    private $name;
  7.    function setID($id)
  8.    {
  9.      $this->id = $id;
  10.    }
  11.    function getID()
  12.    {
  13.      return $this->id;
  14.    }
  15.    function setName($name)
  16.    {
  17.      $this->name = $name;
  18.    }
  19.    function getName()
  20.    {
  21.      return $this->name;
  22.    }
  23.   }
  24.   //创建一个新的staff对象并初始化 
  25.   $ee1 = new staff();
  26.   $ee1->setID("145");
  27.   $ee1->setName("Simon");
  28.   //克隆一个新的对象 
  29.   $ee2 = clone $ee1;
  30.   //重新设置新对象的ID值 
  31.   $ee2->setID("146");
  32.   //输出ee1和ee2 
  33.   echo "ee1 ID: ".$ee1->getID()."<br>";
  34.   echo "ee1 Name: ".$ee1->getName()."<br>";
  35.   echo "ee2 ID: ".$ee2->getID()."<br>";
  36.   echo "ee2 Name: ".$ee2->getName()."<br>";
  37. ?>
  38. <?php
  39.   //定义类staff,其中包括属性id和name 
  40.   class staff
  41.   {
  42.    private $id;
  43.    private $name;
  44.    function setID($id)
  45.    {
  46.      $this->id = $id;
  47.    }
  48.    function getID()
  49.    {
  50.      return $this->id;
  51.    }
  52.    function setName($name)
  53.    {
  54.      $this->name = $name;
  55.    }
  56.    function getName()
  57.    {
  58.      return $this->name;
  59.    }
  60.    //这里是__clone函数 
  61.    function __clone()
  62.    {
  63.     $this->id = $this->id + 1;
  64.    }
  65.   }
  66.   //创建一个新的staff对象并初始化 
  67.   $ee1 = new staff();
  68.   $ee1->setID("145");
  69.   $ee1->setName("Simon");
  70.   //克隆一个新的对象 
  71.   $ee2 = clone $ee1;
  72.   //重新设置新对象的ID值 
  73.   //$ee2->setID("146"); 
  74.   //输出ee1和ee2 
  75.   echo "ee1 ID: ".$ee1->getID()."<br>";
  76.   echo "ee1 Name: ".$ee1->getName()."<br>";
  77.   echo "ee2 ID: ".$ee2->getID()."<br>";
  78.   echo "ee2 Name: ".$ee2->getName()."<br>";
  79. ?>

给我留言

Copyright © 四季博客 保留所有权利.   Theme  Ality

用户登录