這篇文章主要介紹了關於php物件導向之靜態方法、屬性和常數,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下
靜態方法、屬性
使用static
關鍵字定義;
聲明類別屬性或方法為靜態,即可以不實例化,直接存取。
1)靜態屬性,不可以透過實例化物件存取;
2)靜態方法,可以;
3)靜態方法,不可以使用$this
:: 或 self::
具體如下所示:
访问位置 调用属性 调用方法 类的内部/外部 类名::属性名 类名::方法名 内部 self::属性名 self/类名::方法名
<?php class MyClass { // 静态属性 public static $a = 'static'; // 静态方法 public static function func1() { echo '静态方法'; // 类的内部调用静态属性 echo MyClass::$a; echo self::$a; // 类的内部调用静态方法 MyClass::func2(); self::func2(); } // 试验静态方法调用另一个静态方法 public static function func2() { echo 'This is static function 2.'; } } // 类的外部调用静态属性、方法 echo MyClass::$a; MyClass::func1(); // 实例化后再调用 $me = new MyClass(); echo $me::$a; // 调用成功 // echo $me ->a; 调用失败 $me -> func1(); // 调用成功
常數
##const可以把類別中始終不變的值,定義為常數。
class MyClass { public static $a = 'abc'; const NUM = 123; } echo MyClass::$a; echo '<br/>'; echo MyClass::NUM; echo '<br/>'; // 修改静态属性 MyClass::$a = 'def'; echo MyClass::$a; echo '<br/>'; // 修改常量 //MyClass::NUM = 234; 赋值失败
以上是php物件導向之靜態方法、屬性與常數的詳細內容。更多資訊請關注PHP中文網其他相關文章!