三瓣核桃
2016-05-05 08:37
<?php
class Car {
private static $speed = 10;
public function getSpeed() {
return self::$speed;
}
//在这里定义一个静态方法,实现速度累加10
public static function speedUp() {
//return self:: $speedUp = $speedUp + 10;
return self::$speed+=10;
}
}
$car = new Car();
Car::speedUp(); //调用静态方法加速
echo $car->getSpeed(); //调用共有方法输出当前的速度值
$speedUp = $speedUp + 10
$speed+=10这两个表达式就,粗略的看$speedUp + 和$speedUp=$speedUp+10 是一个意思 但区别在于 $speedUp+ 是先使用$speedUp的值 然后再使$speedUp+10 而$speedUp =$speedUp+10 只是简单的给 $speedUp 加10,,所以return返回的值不同
第一,楼主应该是写错了,想要表达的意思是问return self:$speed+=10和return self:$speed=self:$speed + 10的区别。否则$speedUp是什么鬼?即不是变量名,也不是函数名。
第二,上面两个书写正确的表达式得出的结果是一致的,表达的也是一个意思,你得出不同的结果,完全是因为你写错了。
结论,楼主书写错误
好像重点不应该是这个吧。self:: $speed= $speed + 10;你这样写肯定会报错的,因为在function speedUp()中你没有定义$speed,他同函数外$speed 是两个不同的变量;只有通过self::$speed,才能将该函数外面的speed引入到函数内来
PHP进阶篇
181959 学习 · 2668 问题
相似问题