摘要:前一段時間,看了中的對象克隆。感覺自己對于中的對象克隆也不是很清楚,所以就做了一個小測試。對于對象變量而言,簡單的賦值是引用。如果有什么理解錯誤的地方,歡迎朋友指出。
前一段時間,看了Java中的對象克隆。感覺自己對于php中的對象克隆也不是很清楚,所以就做了一個小測試。代碼如下
a = new A(); } } $b = new B(); $d = 1; $e = $d; $e++; echo "寫時復制 "; echo $d." "; echo $e." "; echo "------------------------------------ "; $c = $b; $c->a->value++; $c->value++; echo "對象中的對象變量 "; echo $b->a->value." "; echo $c->a->value." "; echo "對象變量中的值變量 "; echo $b->value." "; echo $c->value." "; echo "-------------------------------------- "; $f = clone $b; $f->value++; $f->a->value++; echo "對象變量中的值變量 "; echo $b->value." "; echo $f->value." "; echo "對象中的對象變量 "; echo $b->a->value." "; echo $f->a->value." "; ?>
運行的結果如圖
和Java還是一致的,結論如下
**對于值變量而言,簡單的賦值是拷貝。
對于對象變量而言,簡單的賦值是引用。
對于對象變量而言,利用clone進行賦值,對象變量中的值變量是拷貝,對象變量中的對象變量還是引用。**
如果有什么理解錯誤的地方,歡迎朋友指出。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/30132.html
摘要:前一段時間,看了中的對象克隆。感覺自己對于中的對象克隆也不是很清楚,所以就做了一個小測試。對于對象變量而言,簡單的賦值是引用。如果有什么理解錯誤的地方,歡迎朋友指出。 前一段時間,看了Java中的對象克隆。感覺自己對于php中的對象克隆也不是很清楚,所以就做了一個小測試。代碼如下 運行的結果如圖showImg(https://segmentfault.com/img/bVbozBA...
摘要:一什么是單例設計模式單例模式,也叫單子模式,是一種常用的軟件設計模式。在應用這個模式時,單例對象的類必須保證只有一個實例存在。 一、什么是單例設計模式 單例模式,也叫單子模式,是一種常用的軟件設計模式。在應用這個模式時,單例對象的類必須保證只有一個實例存在。 二、單例模式的技巧 利用$_instance私有變量來保存類的唯一實例化對象; 設計一個getInstance對外公開的函數,...
摘要:原型設計模式中,原型設計模式的關鍵是要了解如何使用內置函數抽象原型角色聲明一個克隆自身的接口具體原型角色實現一個克隆自身的操作原型設計模式的目的通過克隆以減少實例化對象的開銷,與其實例化新對象,完全可以使用一個已有實例的克隆注意類是原型設計 原型設計模式 Notice: PHP中,原型設計模式的關鍵是要了解如何使用內置函數__clone() 抽象原型角色(Prototype):聲明一...
摘要:單例模式是最常用,也是最簡單的一種設計模式。什么是單例模式他是一個特殊的類,該類在系統運行時只有一個實例。這個類必須提供一個獲取對象實例的方法。可以參考鳥哥的這遍文章,經測試在下是有效的破壞單例 單例模式是最常用,也是最簡單的一種設計模式。 什么是單例模式他是一個特殊的類,該類在系統運行時只有一個實例。這個類必須提供一個獲取對象實例的方法。 有什么作用1.全局只創建一次實例,提高性能,...
閱讀 1006·2019-08-30 15:55
閱讀 3446·2019-08-30 13:10
閱讀 1274·2019-08-29 18:45
閱讀 2352·2019-08-29 16:25
閱讀 2113·2019-08-29 15:13
閱讀 2427·2019-08-29 11:29
閱讀 559·2019-08-26 17:34
閱讀 1491·2019-08-26 13:57