靜態(tài)屬性與方法可以在不實(shí)例化類的情況下調(diào)用,直接使用類名::方法名的方式進(jìn)行調(diào)用。靜態(tài)屬性不允許對象使用->操作符調(diào)用。
class Car {
private static $speed = 10;
public static function getSpeed() {
return self::$speed;
}
}
echo Car::getSpeed(); //調(diào)用靜態(tài)方法
靜態(tài)方法也可以通過變量來進(jìn)行動(dòng)態(tài)調(diào)用
$func = 'getSpeed'; $className = 'Car'; echo $className::$func(); //動(dòng)態(tài)調(diào)用靜態(tài)方法
靜態(tài)方法中,$this偽變量不允許使用??梢允褂胹elf,parent,static在內(nèi)部調(diào)用靜態(tài)方法與屬性。
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();
我也來試一試:定義一個(gè)靜態(tài)方法,實(shí)現(xiàn)速度累加10。
在右側(cè)代碼編輯器第10-12行輸入下面代碼:
public static function speedUp() {
return self::$speed+=10;
}
在注釋后輸入出下代碼:
public static function speedUp() {
return self::$speed+=10;
}
請驗(yàn)證,完成請求
由于請求次數(shù)過多,請先驗(yàn)證,完成再次請求
打開微信掃碼自動(dòng)綁定
綁定后可得到
使用 Ctrl+D 可將課程添加到書簽
舉報(bào)