php中如何實現(xiàn)克隆

小編給大家分享一下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. 對象在實例化的時候會自動調用存在的構造方法__construct(),同樣的,在類的內(nèi)部,PHP允許定義一個__clone()的方法,在對象被克隆后,新克隆出來的對象會自動調用

<?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()方法私有化(本質是不允許對象在外部被克?。?/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://muchs.cn/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)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)