亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

復制方法里面的兩句話可有可無啊?。?/h1>

<?php
class Car {
??? public $name = 'car';

??? public function __clone() {
//???????? $obj = new Car();
//???????? $obj->name = $this->name;
??? }
}
$a = new Car();
$a->name = 'new car';
$b = clone $a;
if($a == $b){
??? echo "yes!!";
}
echo $b -> name;

輸出結果是yes!!new car

說明魔方函數里面的兩句話沒用?。。。∧沁@兩句話是干嘛的,難道真的可有可無??

正在回答

1 回答

復制函數是在類的對象被復制的時候調用的,這個例子里面調用復制函數的功能是:創建一個Car類,把被復制類a的name屬性的值,賦給新復制出來的類b的name屬性,如果把

$obj->name?=?$this->name;

改成:

$obj->name?=?'abc';

的話,復制出來的類的name屬性就是abc,而新創建的類的name屬性是car。

0 回復 有任何疑惑可以回復我~
#1

mirai醬

復制函數不寫內容的話,默認的是一一對應的復制被復制的類的屬性和方法,要說沒有用的話,是他寫的內容是和默認內容一樣的,一般而言,復制函數用在靜態屬性上,用來統計復制的類的個數。
2017-05-19 回復 有任何疑惑可以回復我~
#2

mirai醬

應該改成$this->name = 'abc';
2017-05-19 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

復制方法里面的兩句話可有可無啊??!

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號