class Truck extends Car{ public function speedUp(){ $this->speed=parent::speedUp()+50; } }
1、parent::speedUp()這里為什么要這樣寫呢
2、還有事速度累加50,意思是說在父類speed已經加上10的基礎上再加50嗎?還是說在speed=0的基礎上加50
1、parent::speedUp()這里為什么要這樣寫呢
2、還有事速度累加50,意思是說在父類speed已經加上10的基礎上再加50嗎?還是說在speed=0的基礎上加50
2017-05-02
舉報
2017-05-02
表示子類Truck集成了父類car, 其中的parent::speedUp();表示調用父類的speedUp()方法。
2017-05-03
子類覆蓋父類的方法是要通過在子類中重新編寫新的方法,如果不更改的話,則默認子類繼承父類的方法。例如
class parentClass { public function test(){ echo "parent"; }}
1--> class childClass extends parent{ } 如果子類繼承父類但并沒有重寫其中的test方法,那么則繼承父類的test方法
即 $child = new childClass(); $child->test();//輸出parent
2--> classchildClass extends parent{ public function test(){ echo "child"; }} 如果子類重寫了方法,那么再實例化childClass類調用test方法會調用子類重寫后的test方法。也就是說,如果兒子有能力(指重寫了方法),那么就能夠繼承父親的財產(父類的方法)并且把它發揚光大(重寫);如果兒子沒能力(沒有重寫方法),那么久只能夠啃老(調用父類的方法)。這樣希望能幫你理解吧。
2017-05-02
那這樣通過子類調用父類的方法就可以覆蓋父類里面的speedUp方法了嗎?為什么呀?
2017-05-02
1、parent::speedUp() 是指調用父類的speedUp()方法,此時已經執行了$this->speed += 10; speed變為10;
2、累加的意思是在10的基礎上在增加50.
2017-05-02
子類調用父類方法要這么用 parent::speedUp()
他這里累加50的意思應該是,父類speed基礎上加50;
因為parent::speedUp()這里已經調用了父類里speedUp()這個方法,speed已經=10;后面再加50,輸出就是60了;