php中後期靜態繫結(延遲靜態繫結)技術

2021-09-02 07:27:54 字數 803 閱讀 6600

定義乙個父類

這就要用到後期靜態繫結的技術,所謂後期,是指靜態方法的呼叫者,只有在執行狀態下才進行動態繫結,使用關鍵字 static 來實現,

此時, static 就像乙個變數,始終與當前的呼叫類是繫結的

class father

//靜態方法: 訪問當前類中的其它靜態成員

public static function getmoney()

}class son extends father

} echo father::$money.'

';//呼叫父類的靜態方法,獲取父類類名

echo father::getclass().'

';//獲取父類中其它靜態成員的相關資訊

echo father::getmoney().'';

echo son::$money.'

';//子類呼叫父類的靜態方法

//son類覆寫了father類的getclass(),呼叫子類已重寫的方法,返回子類名稱

echo son::getclass().'

';//因為son類繼承了father類,所以也可以直接訪問父類中的getmoney()方法

//因為沒有子類son中對getmoney()進行覆寫,所以訪問的還是father類中的資料

echo son::getmoney().'';

//此時我再用父類呼叫getmoney(),static 也會自動與 father類繫結

echo father::getmoney();

php後期靜態繫結

後期靜態繫結 static 不再被解析為定義當前方法或屬性所在的類,而是在實際執行時計算的 可用 get called class 函式來得到被呼叫的方法所在的類名 this是指向當前物件 self 指向當前的類 self就是寫在哪個類裡面,實際呼叫的就是這個類 parent 指向父類 static...

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 ...