新聞中心
在PHP中可以根據(jù)現(xiàn)有的對(duì)象克隆初一個(gè)完全一樣的對(duì)象,克隆以后,原本和副本兩個(gè)對(duì)象完全獨(dú)立,互不干擾。
class person{
private $name;
private $sex;
private $age;
function __construct($name="",$sex="",$age=""){
$this->name=$name;
$this->sex=$sex;
$this->age=$age;
}
function say(){
echo "我的名字:".$this->name.";性別:".$this->sex.";年齡:".$this->age."
";
}
}
$person1=new person("張三","男","40");
$person2=clone $person1;
$person1->say();
$person2->say();
?>
代碼運(yùn)行結(jié)果是:
如果需要對(duì)克隆后的副本對(duì)象在克隆時(shí)重新為成員屬性賦初值,,則可以在類中聲明一個(gè)魔術(shù)方法__clone()。該方法是在對(duì)象克隆時(shí)自動(dòng)調(diào)用的,所以就可以通過(guò)此方法對(duì)克隆后的副本重新初始化。__clone()方法不需要任何參數(shù),該方法中自動(dòng)包含$this和$that兩個(gè)對(duì)象的引用,$this是副本對(duì)象的引用,而$that是原本對(duì)象的引用。
class person{
private $name;
private $sex;
private $age;
function __construct($name="",$sex="",$age=""){
$this->name=$name;
$this->sex=$sex;
$this->age=$age;
}
function __clone(){
$this->name="張三";
$this->sex="女";
$this->age="20";
}
function say(){
echo "我的名字:".$this->name.";性別:".$this->sex.";年齡:".$this->age."
";
}
}
$person1=new person("張三","男","40");
$person2=clone $person1;
$person1->say();
$person2->say();
?>
代碼運(yùn)行結(jié)果是:
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
當(dāng)前題目:克隆對(duì)象clone-創(chuàng)新互聯(lián)
當(dāng)前路徑:http://ef60e0e.cn/article/jhjjp.html