1. 程式人生 > >對象的克隆(clone)技術:像變量值傳遞一樣創建新對象

對象的克隆(clone)技術:像變量值傳遞一樣創建新對象

round 對象復制 值傳遞 png class clone ech public 技術分享

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)技術:像變量值傳遞一樣創建新對象