clone()
在对象克隆时会自动调用clone()方法,这方法不需要任何参数,可以通过该方法对克隆后的副本重新初始化
clone()方法会自动包含this和that两个对象的引用,this是副本对象的引用,that是原本对象的引用<?php
class Person{
private $name;
private $sex;
private $age;
function __construct($name="",$sex="",$age=1){
$this->name= $name;
$this->sex = $sex;
$this->age = $age;
}
function __clone(){
$this->name = $this->name."的副本";
}
function say(){
echo "我的名字:" .$this->name.",性别:".$this->sex.",年龄:".$this->age."
";
}
}
$p1 = new Person('张三','男','20');
$p2 = clone $p1;
$p1->say();//我的名字:张三,性别:男,年龄:20
$p2->say();//我的名字:张三的副本,性别:男,年龄:20
?>