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

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);

运行结果:

 

posted @ 2018-11-09 12:59  LBY001  阅读(420)  评论(0编辑  收藏  举报