###定義 首先從字面上的意思來理解,「靜態」表示該用法是給靜態變數和方法來使用的,「延遲繫結」,是指在程式執行時而不是編譯時決定的。下面來看看**。 ###例項 首先我們定乙個父類
class
father
}複製**
再定義乙個子類
class
sonextends
father
複製**
分別呼叫子類和父類的printname
方法
father::printname();
echo"";
son::printname();
複製**
執行結果如圖:
我們可以看到子類在呼叫繼承自父類的printname
方法時,實際上是使用了父類的name
屬性,可是在有的時候我們希望在子類在執行時呼叫自己類的name
屬性。這時候我們就可以使用static
關鍵字來進行靜態延遲繫結,使**在執行時決定使用哪個類的屬性。修改父類的**如下。
class
father
}複製**
再次執行如下:
我們可以看到在呼叫子類的繼承自父類的printname
方法的時候static::$name
會自動呼叫子類的$name
屬性。做到了在執行時決定繫結。
php物件導向之 延遲繫結複習 132
燕十八 公益php講堂 論 壇 微 博 yy頻道 88354001 筆記部分 class animal public static function t1 public static function t2 class human extends animal class stu extends h...
PHP延遲靜態繫結
1 self用法 self是指向定義它的當前類的指標。當前類 current class class person 獲取年齡 public static function getage 輸出 self name i am person self age 18 2 static用法 static是指向...
PHP延遲靜態繫結
所謂延遲靜態繫結,顧名思義,靜態呼叫時 符號左側的部分的的繫結是延遲,也就是說不再被解析為定義當前方法所在的類,而是在實際執行時計算的。class people public static function eat class fatguy extends people public static ...