小編給大家分享一下php中如何實現(xiàn)克隆,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
創(chuàng)新互聯(lián)于2013年創(chuàng)立,先為呼和浩特等服務建站,呼和浩特等地企業(yè),進行企業(yè)商務咨詢服務。為呼和浩特企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務解決您的所有建站問題。
定義:克隆對象clone
,即通過已有的對象復制一個新的同樣的對象,但是兩者之間并非同一個對象。
1.對象克隆是通過clone關鍵字實現(xiàn),即:clone
對象
;
<?php class Saler{ //屬性 public $count; private $money; } //實例化 $s1 = new Saler(); $s1->count = 1; //克隆 $s2 = clone $s1; ?>
2.克隆出來的對象與原來對象是兩個內(nèi)存地址,因此是兩個不同的對象
<?php //接上述代碼 $s2->count = 2; echo $s1->count; //1,沒有變化 ?>
3. 對象在實例化的時候會自動調(diào)用存在的構造方法__construct()
,同樣的,在類的內(nèi)部,PHP允許定義一個__clone()
的方法,在對象被克隆后,新克隆出來的對象會自動調(diào)用
<?php class Saler{ //屬性 public $count; private $money; //克隆方法 public function __clone(){ var_dump($this); //編號為2,代表是克隆出來的對象 $this->count++; } } //實例化 $s1 = new Saler(); $s1->count = 1; //克隆 $s2 = clone $s1; ?>
4.如果不允許對象被克隆,可以將__clone()
方法私有化(本質(zhì)是不允許對象在外部被克?。?/strong>
<?php class Saler{ //屬性 public $count; private $money; //私有化克隆方法 private function __clone(){} } //實例化 $s1 = new Saler(); $s1->count = 1; //克隆 $s2 = clone $s1; //致命錯誤:不允許對象在外部訪問一個私有方法 ?>
以上是“php中如何實現(xiàn)克隆”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
網(wǎng)站標題:php中如何實現(xiàn)克隆
鏈接URL:http://jinyejixie.com/article40/iepsho.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、靜態(tài)網(wǎng)站、外貿(mào)網(wǎng)站建設、全網(wǎng)營銷推廣、移動網(wǎng)站建設、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)