clone和__clone()
-
创建对象的方式有哪些?
- 方法一:实例化
- 方法二:克隆
-
概念
- clone是创建对象的方法之一
- 当执行clone指令的时候,会自动的调用__clone()方法
<?php
class Student {
static private $name;
//执行clone指令的时候自动执行
final public function setName($name) {
self::$name=$name;
}
public function __clone() {
echo '正在克隆对象...<br>';
}
public function say(){
echo self::$name.'是个三好学生!<br>';
}
}
$stu1= new Student;
$stu1->setName('Sunny');
$stu1->say();
$stu2=clone $stu1;
$stu2->setName('Jerry');
$stu2->say();
?>