首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP 面向對象(OOP)學習筆記(二):靜態成員、延遲靜態綁定

     編輯:PHP 相關知識

深入解析 static 關鍵字在類中的三大用法:靜態屬性、靜態方法、延遲靜態綁定(static::)。

1. 靜態變量(函數級)

函數內 static $a = 1; 保持值跨調用不丟失,適用於遞歸計數器。

2. 類靜態屬性與方法

  • 屬於類而非實例,全體實例共享同一份數據
  • 類內用 self::$prop 訪問,類外用 ClassName::$prop
  • 靜態方法不可用 $this,調用無需實例化
class MyObject {
    public static $a = 0;
    static function MyMethod() { self::$a += 2; echo self::$a; }
}
MyObject::MyMethod(); // 2
MyObject::MyMethod(); // 4

3. 作用域限定符對比

符號含義
self::當前定義類,不識別繼承層級
parent::直接父類
static::運行時實際調用類(延遲靜態綁定)
class Base { static function who() { static::name(); } static function name() { echo 'Base'; } }
class Child extends Base { static function name() { echo 'Child'; } }
Child::who(); // 輸出 Child —— 靠 static:: 實現

4. 總結

static:: 解決繼承鏈中「調用最終實現」的需求,是多態靜態調用的關鍵。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved