摘要:前一段時間,看了中的對象克隆。感覺自己對于中的對象克隆也不是很清楚,所以就做了一個小測試。對于對象變量而言,簡單的賦值是引用。如果有什么理解錯誤的地方,歡迎朋友指出。
前一段時間,看了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." "; ?>
運行的結(jié)果如圖
和Java還是一致的,結(jié)論如下
**對于值變量而言,簡單的賦值是拷貝。
對于對象變量而言,簡單的賦值是引用。
對于對象變量而言,利用clone進行賦值,對象變量中的值變量是拷貝,對象變量中的對象變量還是引用。**
如果有什么理解錯誤的地方,歡迎朋友指出。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/73355.html
摘要:總結(jié)工廠類必須有一個工廠方法工廠方法必須能夠返回一個其他類的實例一次只能創(chuàng)建和返回一個實例三設計模式匯總設計模式匯總相關(guān)文章設計模式之單例模式的一個技術(shù)棧后端猿的知識儲備大綱設計模式之工廠模式單例模式注冊樹模式 Learning PHP Design Patterns.設計模式的宗旨就是重用,應用設計模式可以使我們的代碼更加優(yōu)雅、簡潔、低耦合。 一、單例模式 1.什么是單例模式: 一個...
摘要:一什么是單例設計模式單例模式,也叫單子模式,是一種常用的軟件設計模式。在應用這個模式時,單例對象的類必須保證只有一個實例存在。 一、什么是單例設計模式 單例模式,也叫單子模式,是一種常用的軟件設計模式。在應用這個模式時,單例對象的類必須保證只有一個實例存在。 二、單例模式的技巧 利用$_instance私有變量來保存類的唯一實例化對象; 設計一個getInstance對外公開的函數(shù),...
摘要:原型設計模式中,原型設計模式的關(guān)鍵是要了解如何使用內(nèi)置函數(shù)抽象原型角色聲明一個克隆自身的接口具體原型角色實現(xiàn)一個克隆自身的操作原型設計模式的目的通過克隆以減少實例化對象的開銷,與其實例化新對象,完全可以使用一個已有實例的克隆注意類是原型設計 原型設計模式 Notice: PHP中,原型設計模式的關(guān)鍵是要了解如何使用內(nèi)置函數(shù)__clone() 抽象原型角色(Prototype):聲明一...
摘要:單例模式是最常用,也是最簡單的一種設計模式。什么是單例模式他是一個特殊的類,該類在系統(tǒng)運行時只有一個實例。這個類必須提供一個獲取對象實例的方法??梢詤⒖鉴B哥的這遍文章,經(jīng)測試在下是有效的破壞單例 單例模式是最常用,也是最簡單的一種設計模式。 什么是單例模式他是一個特殊的類,該類在系統(tǒng)運行時只有一個實例。這個類必須提供一個獲取對象實例的方法。 有什么作用1.全局只創(chuàng)建一次實例,提高性能,...
閱讀 2739·2021-11-22 13:54
閱讀 1077·2021-10-14 09:48
閱讀 2302·2021-09-08 09:35
閱讀 1566·2019-08-30 15:53
閱讀 1179·2019-08-30 13:14
閱讀 616·2019-08-30 13:09
閱讀 2531·2019-08-30 10:57
閱讀 3344·2019-08-29 13:18