大神瞧瞧哈
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();
这是这章节例子中的,结果是20,我想问的是BigCar::start();是将start()方法执行了一遍得到speed是等于20的,但是start()这个方法中没有返回时,然后他再用echo BigCar::getSpeed();这种形式来输出$speed的最终值吗,是不是就是说在子类中speed执行了以后变成20,在父类属性中的$speed也变成了20,于是乎调用执行父类中getspeed的方法所以输出为20.请大神帮我解释一下,
还有如果我去掉public static function getSpeed() {
return self::$speed;
}这一段然后末尾变成echo BigCar::start(); 然后给parent::speedUp();前面加return也能得到结果是20,这二个有区别吗,感觉还是这个简答啊,话有点多,,,,,望详解。。。。。