self和parent在使用過程中有什么不同之處?
<?php
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()?{
????????self::speedUp();
????}
}
BigCar::start();
echo?BigCar::getSpeed();在子類BigCar中self和parent的代碼執行的效果一樣。
2019-07-27
self操作的是當前類的屬性和方法,需要用::調用,英語的意思就是自身的。然后parent操作當前的父類。你這里使用的是BigCar的start方法,然后操作從父類繼承下來的speedUp方法,只調用了一次speedUp,你使用parent調用的是父類本身的speedUp方法,同樣也是使用了一次speedUp,所以兩個代碼的執行效果一樣。