问答详情
源自:2-10 PHP类和对象之对象的高级特性

克隆函数里面的内容的$obj指的是什么

  $obj = new Car();$obj->name = $this->name;这两句时干什么的?具体详细是什么意思呢

class Car {
   public $name = 'car';
   
   public function __clone() {
       $obj = new Car();
       $obj->name = $this->name;
   }
}
$a = new Car();
$a->name = 'new car';
$b = clone $a;
var_dump($b);

提问者:qq_Young_Foreve_03924380 2016-09-11 15:21

个回答

  • _Linl
    2016-09-19 17:57:40

    $obj = new Car()  //重新创建一个Car的对象

    $obj->name = $this->name; // 将本身的name属性的值 赋给 新对象$obj的name。

    这样在调用clone的时候,不仅获取了一个新的对象,连这个对象里面的name也会一样。

    可以理解为克隆一个人,只是克隆了这个人的身体,现在我需要连这个克隆人的名字也和被克隆的对象一样,那么我

    就让这个克隆人的名字等于被克隆的对象的名字。

  • 超能小可爱
    2016-09-11 16:18:43

    object