在php中,new乙個物件和clone乙個物件,他們之間有什麼不同

時間 2021-06-01 09:29:30

1樓:eechen

class foo

$foo = new foo();

// 我的理解:

$a = $foo; // 識別符號賦值(把$a賦值為null,原來的$foo並不會變成null,但通過$a能夠修改$foo的成員$bar)

$a = &$foo; // 引用賦值(把$a賦值為null,原來的$foo也會跟著變成null)

$a = clone $foo; // 值賦值(賦值後互不影響,很好理解)

2樓:buduo buduo

題主的例子沒有區別。但是兩者是有區別的。clone直接從物件複製乙份副本。

不觸發construct函式,就是clone不再類初始化。而new,就是類初始化。舉個例子,new就是出生的嬰兒,然後初始化,體重八斤,叫牛二,成為具體的物件(人)。

而轉殖就是直接複製具體物件,比如勇士隊複製五個庫里,就不會再初始化,從0歲,三斤九兩開始。而是複製的2023年的庫里。

3樓:黑黑

就樓主例子來說,應該是沒有區別。不是樓上說的乙個變另乙個也變。obj1=obj2這樣直接賦值才會乙個變另乙個也變。

但是clone在一些複雜情況下會出現乙個變另乙個也變的情況,例如建構函式中傳遞new物件等,這時就需要用魔術函式__clone()來規劃具體怎麼顯示。

聖馬可cl160和山葉fg830哪乙個價效比比較高?

雨凌海上鋼琴師 山葉當然好了,誰不想買個進口牌子,但現場怎麼彈都彈不出大牌的感覺,配置差很多。CL160也算老牌子了10年了,音色還真喜歡,後來還是抗拒不了容顏拿下SMK560,對於窮人還是中國產實在! 衛岑 CL系列彈過不少型號,音色CL160好雪松面板的優勢。配置比FG830高很多,這也是中國產...

關於java中物件和泛型的乙個小問題?

第二個問題,第一種情況是因為String是Object的子類,所以可以。第二種,你new出來的list1是Object集合,說明裡面可以放任何型別,要是能等於String集合,不就只能放String 了麼,所以報錯了。第乙個不了解,應該是乙個吧。下班路上手機打字應該不嚴謹,一會更新 1 就new O...

因為賭氣,和乙個相親物件訂婚了,相親物件屬於外貌性格上我永遠都不可能喜歡的男人,又不能提解婚怎麼辦?

我跟外貌和性格都喜歡的人結婚了,婚後才發現無法溝通,也沒有性生活,甚至懷疑他同性戀,痛苦的想離婚又自己捨不得,可能你覺得如果後悔雙方會鬧的很難看 但是如果結婚以後鬧離婚牽扯的就更多了,那時候只會比現在離開更難。 沙地蘿蔔 一就是和你的父母攤開說清楚,這場婚姻是你極不願意的,如果結了也會導致以後心裡的...