【发布时间】:2013-11-22 12:39:08
【问题描述】:
在下面的例子中......我在这里有些困惑
<?php
class SubObject
{
static $instances = 0;
public $instance;
public function __construct() {
$this->instance = ++self::$instances;
}
}
class MyCloneable
{
public $object1;
public $object2;
function __clone()
{
$this->object1 = clone $this->object1;
$this->object2 = clone $this->object2;
}
}
$obj = new MyCloneable();
$obj->object1 = new SubObject();
$obj->object2 = new SubObject();
$obj2 = clone $obj;//If i use $obj2 = $obj; it does return the same results.
print("Original Object:\n");
print_r($obj);
print("Cloned Object:\n");
print_r($obj2);
$obj2 = clone $obj; 和 $obj2 = $obj; 之间有什么区别?两者都返回相同的结果。那我为什么要使用clone关键字呢?
【问题讨论】: