課程
/后端開(kāi)發(fā)
/PHP
/PHP進(jìn)階篇
class Truck extends Car{
? ?function ?__construct(){
? ? ? ?$this->speed +=50;
? ?}
}
2017-06-02
源自:PHP進(jìn)階篇 2-8
正在回答
你這是構(gòu)造函數(shù),我個(gè)人認(rèn)為,根據(jù)題意說(shuō)要覆蓋speedUp函數(shù),應(yīng)該這樣寫(xiě),
public?function?speedUp(){ ????????$this->speed+=50; ????????return?$this->speed; ????}
我認(rèn)為這樣是實(shí)現(xiàn)了函數(shù)覆蓋,但答案說(shuō)結(jié)果為60我就實(shí)在不能理解,在答案區(qū)也見(jiàn)不到此類(lèi)回答。我百度一下PHP的覆蓋方法,得到如下結(jié)果,
所謂覆蓋,從本質(zhì)上來(lái)說(shuō)就是重寫(xiě)。就是當(dāng)子類(lèi)繼承父類(lèi)的一些方法后,子類(lèi)又在其內(nèi)部定義了相同的方法,則這個(gè)新定義的方法會(huì)覆蓋繼承而來(lái)的父類(lèi)的方法,子類(lèi)只能調(diào)用其內(nèi)部定義的方法。
有以下幾點(diǎn)要求:
1.當(dāng)一個(gè)父類(lèi)和子類(lèi)有一個(gè)方法,參數(shù)和名字完全一致,那么子類(lèi)方法會(huì)覆蓋父類(lèi)的方法。
2.在實(shí)行方法覆蓋的時(shí)候,訪問(wèn)修飾符可以是不一樣的,但是子類(lèi)的訪問(wèn)范圍必須大于等于父類(lèi)的訪問(wèn)范圍。
3.要求參數(shù)和名字一樣。并不是要求子類(lèi),父類(lèi)名稱相同。
綜上,我覺(jué)得我這種做法才是實(shí)現(xiàn)了覆蓋,希望能對(duì)你有所幫助。
qq_醉臥寒窗聽(tīng)雨眠_(dá)0
該用戶已注冊(cè)
<?php class?Car?{ ????public?$speed?=?0;?//汽車(chē)的起始速度是0 ????public?function?speedUp()?{ ????????$this->speed?+=?10; ????????return?$this->speed; ????} } //?定義繼承于Car的Truck類(lèi) class?Truck?extends?Car{ ????//?構(gòu)造函數(shù),類(lèi)被實(shí)例化的時(shí)候立即執(zhí)行構(gòu)造函數(shù) ????function?__construct(){ ????????$this->speed?+=?50;?//?類(lèi)的屬性(speed)增加50,如果在當(dāng)前類(lèi)中沒(méi)有找到屬性(speed)就去父類(lèi)Car中尋找 ????} } $car?=?new?Truck();//?實(shí)例化Truck類(lèi) $car->speedUp();?//?調(diào)用類(lèi)方法speedUp();如果在當(dāng)前類(lèi)中沒(méi)有找到方法(speedUp)就去父類(lèi)Car中尋找 echo?$car->speed;?//?輸出類(lèi)的屬性(speed):60
Truck 是Car的子類(lèi),$this->speed指針指向Truck類(lèi)的speed,也就是父類(lèi)的speed,因?yàn)槭抢^承來(lái)的嘛。然后就是把speed累加50.
表示類(lèi)Truck繼承了Car,并給它寫(xiě)了一個(gè)構(gòu)造函數(shù),在函數(shù)里將speed的值加50
舉報(bào)
輕松學(xué)習(xí)PHP中級(jí)課程,進(jìn)行全面了解,用PHP快速開(kāi)發(fā)網(wǎng)站程序
3 回答【求大神解釋】
5 回答大神們 求解釋?zhuān)。。。?/p>
2 回答求大神把每一行代碼解釋一遍
2 回答求大神解答
3 回答求助大神解答
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2017-07-12
你這是構(gòu)造函數(shù),我個(gè)人認(rèn)為,根據(jù)題意說(shuō)要覆蓋speedUp函數(shù),應(yīng)該這樣寫(xiě),
我認(rèn)為這樣是實(shí)現(xiàn)了函數(shù)覆蓋,但答案說(shuō)結(jié)果為60我就實(shí)在不能理解,在答案區(qū)也見(jiàn)不到此類(lèi)回答。我百度一下PHP的覆蓋方法,得到如下結(jié)果,
所謂覆蓋,從本質(zhì)上來(lái)說(shuō)就是重寫(xiě)。就是當(dāng)子類(lèi)繼承父類(lèi)的一些方法后,子類(lèi)又在其內(nèi)部定義了相同的方法,則這個(gè)新定義的方法會(huì)覆蓋繼承而來(lái)的父類(lèi)的方法,子類(lèi)只能調(diào)用其內(nèi)部定義的方法。
有以下幾點(diǎn)要求:
1.當(dāng)一個(gè)父類(lèi)和子類(lèi)有一個(gè)方法,參數(shù)和名字完全一致,那么子類(lèi)方法會(huì)覆蓋父類(lèi)的方法。
2.在實(shí)行方法覆蓋的時(shí)候,訪問(wèn)修飾符可以是不一樣的,但是子類(lèi)的訪問(wèn)范圍必須大于等于父類(lèi)的訪問(wèn)范圍。
3.要求參數(shù)和名字一樣。并不是要求子類(lèi),父類(lèi)名稱相同。
綜上,我覺(jué)得我這種做法才是實(shí)現(xiàn)了覆蓋,希望能對(duì)你有所幫助。
2017-07-03
2017-06-02
Truck 是Car的子類(lèi),$this->speed指針指向Truck類(lèi)的speed,也就是父類(lèi)的speed,因?yàn)槭抢^承來(lái)的嘛。然后就是把speed累加50.
2017-06-02
表示類(lèi)Truck繼承了Car,并給它寫(xiě)了一個(gè)構(gòu)造函數(shù),在函數(shù)里將speed的值加50