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

Posted lby01

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对象的克隆(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);

运行结果:

技术分享图片

 












以上是关于对象的克隆(clone)技术:像变量值传递一样创建新对象的主要内容,如果未能解决你的问题,请参考以下文章

克隆深拷贝与浅拷贝区别

JavaSE--对象克隆

克隆对象clone

Java中克隆(Clone)一个对象

对象的克隆

创建对象的第二种方式:克隆clone,要实现Cloneable接口