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