第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

正在回答

5 回答

析構(gòu)函數(shù),在實(shí)例化的時(shí)侯會被自動調(diào)用,你實(shí)例化了兩個(gè)對象,會調(diào)用兩次析構(gòu)函數(shù),這理解是對的。

對于代碼的是幕客網(wǎng)提供的編輯器,在你輸入內(nèi)容的左上角有代碼語言可以選擇,選擇了對應(yīng)的語言就會根據(jù)語言提供高亮顯示效果。

http://img1.sycdn.imooc.com//573085ac0001708802860297.jpg

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

SAGEGSDAGESE 提問者

非常感謝你的耐心解答
2016-05-10 回復(fù) 有任何疑惑可以回復(fù)我~
#2

吳智彬 回復(fù) SAGEGSDAGESE 提問者

~~呵呵
2016-05-11 回復(fù) 有任何疑惑可以回復(fù)我~
#3

yuyang123

反對!這里答主所說的應(yīng)該是構(gòu)造函數(shù)。 析構(gòu)函數(shù)是在對象摧毀時(shí)就會運(yùn)行(不是變量被摧毀,是對象)。 比如$jordan = new NbaPlayer();以后 你unset($jordan)或者$jordan = 1,都會調(diào)用其析構(gòu)函數(shù)。
2016-06-08 回復(fù) 有任何疑惑可以回復(fù)我~

<code>?

class?car{

????public?$name;

????function?__construct(?$name?)

</code>

0 回復(fù) 有任何疑惑可以回復(fù)我~

<pre>

class?car{

????public?$name;

????function?__construct(?$name?)

</pre>

0 回復(fù) 有任何疑惑可以回復(fù)我~

你的代碼完全無法執(zhí)行,定義個(gè)類不是類的方法,

calss?car(){
}

類的定義不應(yīng)該是:

class?car{
????
}

它不是個(gè)函數(shù)不應(yīng)該有()小括號。

你定義的屬性不是成員屬性不是成員屬性,成員方法不是成員方法,并且PHP基本的語法,結(jié)束的分號“ ; ”也多處沒有寫上 :

public function $txt = "1"

看你的寫法應(yīng)該是想定義屬性的,那么就應(yīng)該是這樣寫:

public?$txt?=?"1";

你的構(gòu)造函數(shù)$name這個(gè)屬性在定義成為屬性的時(shí)侯并沒有定義過,這樣的話在勢例子化對象的時(shí)間,構(gòu)造函數(shù)根本就不動$name是個(gè)什么對象,報(bào)?Notice: Undefined property: car::$name 這個(gè)屬性沒有定義!

function?__construct($name){??
echo?"構(gòu)造被調(diào)用";
$this->$name?=?$name???//這里的分號你又沒有寫,并且$name這個(gè)屬性并沒有定義。
}
//在類的內(nèi)部調(diào)用成員屬性,要輸出要在前面加個(gè)?echo??輸出出來

下面是修改的代碼:

class?car{
????public?$txt?=?"1";
????public?$name;
????function?__construct($name)
????{?
????????echo?"構(gòu)造被調(diào)用";
????????echo?$this->$name?=?$name;
????}?
}

看你的代碼,我想你的意圖應(yīng)該是想默認(rèn)初始化對象是$name
="1",然后實(shí)例化對象的時(shí)侯根據(jù)你傳的值修改默認(rèn)值成為2,然后再實(shí)例化1個(gè)對象$name
值為3吧。

class?car{
????public?$name;
????function?__construct(?$name?)
????{
????????echo?"構(gòu)造被調(diào)用<br?/>";
????????echo?$this->name?=?$name?.?"<br?/>";
????}
}
$a?=?new?car(2);
echo?$a->name;
$b?=?new?car(3);
echo?$b->name;

拼接了個(gè)<br?/>是在為了在瀏覽器顯示換行,方便看清楚效果。
建議你想將php的基本的語法先掌握再深入學(xué)習(xí),效果應(yīng)該會好些。

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

SAGEGSDAGESE 提問者

還是被你看出來了..我就是想這樣寫的,當(dāng)時(shí)腦袋太亂寫錯了太多細(xì)節(jié),不過你說的我能理解。我是想再加上析構(gòu)函數(shù) function __destruct(){echo "析構(gòu)被調(diào)用".$name;} 如果我理解沒錯的話,應(yīng)該會調(diào)用兩次析構(gòu)函數(shù),包括構(gòu)造被調(diào)用2和構(gòu)造被調(diào)用3 不明白為什么執(zhí)行兩次析構(gòu)函數(shù),是因?yàn)橛袃蓚€(gè)對象的原因? 綜合來說可能還是不太了解析構(gòu)函數(shù)會在什么時(shí)候調(diào)用。 因?yàn)槔蠋熌莻€(gè)代碼太長懶得搬來,結(jié)果好像被自己弄得更復(fù)雜了... 另外你的那個(gè)代碼是怎么寫的啊,很整潔并且有背景色和行數(shù),怎么寫
2016-05-09 回復(fù) 有任何疑惑可以回復(fù)我~
#2

SAGEGSDAGESE 提問者 回復(fù) SAGEGSDAGESE 提問者

“包括析構(gòu)函數(shù)被調(diào)用2和析構(gòu)函數(shù)被調(diào)用3” 上面把析構(gòu)寫成構(gòu)造了
2016-05-09 回復(fù) 有任何疑惑可以回復(fù)我~

你這代碼亂的我完全看不明白,但是你的問題我可以大概的回答你

  1. 為什么輸出了兩次 "析構(gòu)被調(diào)用"??? 是因?yàn)槲鰳?gòu)函數(shù)在變量摧毀時(shí)就會運(yùn)行,每次代碼運(yùn)行結(jié)束就會調(diào)用,所以你這里是兩次

  2. 靜態(tài)方法有關(guān)嗎?其原理是什么?? 靜態(tài)方法關(guān)鍵詞是static,在你的代碼里我并沒有看到靜態(tài)方法的運(yùn)用

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

SAGEGSDAGESE 提問者

析構(gòu)函數(shù)在每次代碼運(yùn)行結(jié)束會調(diào)用,怎么樣才算結(jié)束呢?一個(gè)對象的程序結(jié)束后?還是說等php所有代碼全部執(zhí)行后才調(diào)用
2016-05-09 回復(fù) 有任何疑惑可以回復(fù)我~
#2

yuyang123 回復(fù) SAGEGSDAGESE 提問者

倆種情況,1、手動清除,比如你unset($jordan),刪除這個(gè)變量,或者改變$jordan的指針,重新復(fù)制,比如給它一個(gè)null或者其他的值,$jodan = 1;這樣也可以,其析構(gòu)函數(shù)就會被調(diào)用。 2、PHP引擎自動清除,比如執(zhí)行完這些代碼,系統(tǒng)對其進(jìn)行內(nèi)存垃圾回收,就會把這些變量清除掉,所以也會調(diào)用析構(gòu)函數(shù)。
2016-06-08 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

為什么析構(gòu)函數(shù)被執(zhí)行了2遍?

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號