慕用9564390
2017-05-19 20:19
<?php
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;
if($a == $b){
echo "yes!!";
}
echo $b -> name;
输出结果是yes!!new car
说明魔方函数里面的两句话没用啊!!!那这两句话是干嘛的,难道真的可有可无??
复制函数是在类的对象被复制的时候调用的,这个例子里面调用复制函数的功能是:创建一个Car类,把被复制类a的name属性的值,赋给新复制出来的类b的name属性,如果把
$obj->name = $this->name;
改成:
$obj->name = 'abc';
的话,复制出来的类的name属性就是abc,而新创建的类的name属性是car。
PHP进阶篇
181859 学习 · 2577 问题
相似问题