舉例如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | <?php class Demo { static $counter = 0; public function __clone() { echo "grow as a clone...\n" ; self:: $counter ++; } } $a = new Demo(); $b = clone $a ; $c = clone $a ; $d = clone $b ; $e = clone $c ; echo Demo:: $counter ; /* 《程式語言教學誌》的範例程式 檔名:class19.php 功能:示範 PHP 程式 作者:張凱慶 時間:西元 2013 年 2 月 */ ?> |
此例中我們改寫 __clone() 方法,並且以 $counter 紀錄 clone 的使用紀錄
2 3 4 5 6 7 8 9 | class Demo { static $counter = 0; public function __clone() { echo "grow as a clone...\n" ; self:: $counter ++; } } |
下面建立 Demo 的物件後,連續使用 clone 四次
11 12 13 14 15 16 | $a = new Demo(); $b = clone $a ; $c = clone $a ; $d = clone $b ; $e = clone $c ; echo Demo:: $counter ; |
執行結果如下

中英文術語對照 | |
---|---|
關鍵字 | keyword |
物件 | object |
變數 | variable |
方法 | method |
您可以繼續參考
類別與物件
相關目錄
回 PHP 快速導覽
回 PHP 教材
回首頁
參考資料
http://www.php.net/manual/en/language.oop5.cloning.php
沒有留言:
張貼留言