夜光序言:
人生最大的财富就是滿足,它淨化了心靈的那份純真,複蘇了原始的笑聲,诠釋了人性的那份善良和真誠,慢慢的懂得了,所有的浮華,都是瞬間炫麗的煙花,而我們真正需要的是歲月裡的那份平淡,手心裡緊握的那份溫暖,和心靈深處的那份安然,能讓旅途愉悅的不是榮華,而是心情;能讓生命燦爛的不是陽光,而是笑臉。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38FdsYkRGZkRG9lcvx2bjxiNx8VZ6l2cs0TPn50djpnT0sGVNBDOsJGcohVYsR2MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLzcDOyQDOzgDM3EzNwkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
正文:
PHP類和對象之Static靜态關鍵字
靜态屬性與方法可以在不執行個體化類的情況下調用,直接使用
類名::方法名
的方式進行調用。靜态屬性不允許對象使用->操作符調用。
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();
任務
我也來試一試:定義一個靜态方法,實作速度累加10。
在代碼第10-12行輸入下面代碼:
public static function speedUp() {
return self::$speed+=10;
}
靜态方法中,$this僞變量不允許使用。可以使用self,parent
/**
* Created by PhpStorm.
* User: 夜光
* Date: 2019/7/14
* Time: 21:33
*/
<?php
class Car {
private static $speed = 10;
public function getSpeed() {
return self::$speed;
}
//在這裡定義一個靜态方法,實作速度累加10
public static function speedUp(){
return self::$speed += 10;
}
}
$car = new Car();
Car::speedUp(); //調用靜态方法加速
echo $car->getSpeed(); //調用共有方法輸出目前的速度值