欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

对象的克隆(clone)技术:像变量值传递一样创建新对象

程序员文章站 2023-10-17 23:47:13
class Demo{ public $name = 'peter'; } $obj1 = new Demo;$obj2 = $obj1; //对象都是引用赋值$obj3 = clone $obj1; //克隆,相当于值传递赋值,将当前对象复制到新的变量中$obj4 = new Demo;$obj1 ......

class demo{

  public $name = 'peter';

}

$obj1 = new demo;
$obj2 = $obj1; //对象都是引用赋值
$obj3 = clone $obj1; //克隆,相当于值传递赋值,将当前对象复制到新的变量中
$obj4 = new demo;
$obj1 -> name = 'jack';//重新设置对象$obj1中的属性name的值


echo '对象引用:'.$obj1->name,'----',$obj2 -> name;
echo '<hr>';
echo '克隆赋值:'.$obj1->name,'----',$obj3 -> name;
echo '<hr>';
echo '创建对象:'.$obj1->name,'----',$obj4 -> name;
echo '<hr>';
echo '克隆对象的类是:'.get_class($obj3);

运行结果:

对象的克隆(clone)技术:像变量值传递一样创建新对象