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

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

大神瞧瞧哈

class Car {
? ?private static $speed = 10;
? ?
? ?public static function getSpeed() {
? ? ? ?return self::$speed;
? ?}
? ?public static function speedUp() {
? ? ? ?return self::$speed+=10;
? ?}
}
class BigCar extends Car {
? ?public static function start() {
? ? ? ?parent::speedUp();
? ?}
}BigCar::start();

echo BigCar::getSpeed();

這是這章節(jié)例子中的,結(jié)果是20,我想問的是BigCar::start();是將start()方法執(zhí)行了一遍得到speed是等于20的,但是start()這個方法中沒有返回時,然后他再用echo BigCar::getSpeed();這種形式來輸出$speed的最終值嗎,是不是就是說在子類中speed執(zhí)行了以后變成20,在父類屬性中的$speed也變成了20,于是乎調(diào)用執(zhí)行父類中g(shù)etspeed的方法所以輸出為20.請大神幫我解釋一下,

還有如果我去掉public static function getSpeed() {
? ? ? ?return self::$speed;
? ?}這一段然后末尾變成echo BigCar::start(); ? 然后給parent::speedUp();前面加return也能得到結(jié)果是20,這二個有區(qū)別嗎,感覺還是這個簡答啊,話有點多,,,,,望詳解。。。。。

正在回答

2 回答

第一,如果你問的是兩種寫法有沒有區(qū)別,我想我已經(jīng)正面回答你。如果這不是你想知道的,請修改你的提問方式。

第二,$speed只有一個內(nèi)存區(qū)域,意思就是你就算在子類中執(zhí)行了一個方法修改,父類中的$speed值也是有變化的。

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

a10282465693872396 提問者

非常感謝!
2016-09-12 回復 有任何疑惑可以回復我~

第一,static的變量,是在類初始化的時候就已經(jīng)保存在內(nèi)存的,所以$speed只有一個內(nèi)存區(qū)域。

第二,子類在調(diào)用start()的時候,執(zhí)行了Car類的speedUp()方法,將$speed的值加了10. (只要“self::$speed+=10;”執(zhí)行,無論有沒有return,這個值都已經(jīng)變成了20)

第三,echo 可以把數(shù)據(jù)輸出到控制臺。如果echo后面跟的是變量,則把變量的值輸出;如果echo后面跟的是函數(shù),則把函數(shù)的返回值(就是return的值)輸出;如果echo后面跟的是賦值運算,則把運算的結(jié)果輸出。

所以,你把getSpeed()的return改為echo的之后,執(zhí)行到這一行的時候,就直接輸出了。

請指正。

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

a10282465693872396 提問者

能不能正面回答下我的所有問題。。。。第一,static的變量,是在類初始化的時候就已經(jīng)保存在內(nèi)存的,所以$speed只有一個內(nèi)存區(qū)域。//這段話的意思是我后面speed無論如何變化他的變量屬性值都不會變了嗎
2016-09-12 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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