關於php中類的靜態變量和靜態方法

靜態屬性與方法可以在不實例化類的情況下調用,直接使用類名::方法名的方式進行調用。靜態屬性不允許對象使用->操作符調用。

class Car {
    private static $speed = 10;
    
    public static function getSpeed() {
        return self::$speed;
    }
}
echo Car::getSpeed();  //調用靜態方法

靜態方法也可以通過變量來進行動態調用

$func = 'getSpeed';
$className = 'Car';
echo $className::$func();  //動態調用靜態方法

靜態方法中,$this僞變量不允許使用。可以使用self,parent,static在內部調用靜態方法與屬性。

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();
靜態屬性和靜態方法不能實例化來調取,必須使用 類名::方法名或者變量名
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章