php關鍵字self與statics
阿新 • • 發佈:2018-11-19
一個self的類子
class Car
{
public static function model()
{
self::getModel();
}
protected static function getModel()
{
echo "I am a Car!";
}
}
類的外面呼叫:Car::model(); //I am a Car!
- 另一個類繼承Car
class Mercedes extends Car
{
protected static function getModel()
{
echo "I am a Mercedes!";
}
}
類的外面呼叫:Mercedes::model();//I am a Car!
一個static的類子
class Car
{
public static function model()
{
static::getModel();
}
protected static function getModel()
{
echo "I am a Car!";
}
}
class Mercedes extends Car
{
protected static function getModel()
{
echo "I am a Mercedes!";
}
}
類的外面呼叫:Mercedes::model();//I am a Mercedes!
結束
- 關鍵字“self”的工作原理是:它會呼叫當前類(current class)的方法。
- 在php5.3中加入一個新特性—延遲靜態繫結(late static binding),用static關鍵字呼叫一個繼承方法時,它將在執行時繫結呼叫類(calling class)。