溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php中如何實現克隆

發布時間:2021-03-16 09:18:38 來源:億速云 閱讀:259 作者:小新 欄目:編程語言

小編給大家分享一下php中如何實現克隆,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

定義:克隆對象clone,即通過已有的對象復制一個新的同樣的對象,但是兩者之間并非同一個對象。

1.對象克隆是通過clone關鍵字實現,即:clone 對象;

<?php
class Saler{
  	//屬性
  	public $count;				
  	private $money;
}
//實例化
$s1 = new Saler();
$s1->count = 1;

//克隆
$s2 = clone $s1;
?>

 2.克隆出來的對象與原來對象是兩個內存地址,因此是兩個不同的對象

<?php
//接上述代碼
$s2->count = 2;

echo $s1->count;		//1,沒有變化
?>

  3. 對象在實例化的時候會自動調用存在的構造方法__construct(),同樣的,在類的內部,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中如何實現克隆”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女