閱讀949 返回首頁    go Php編程


PHP類的static靜態屬性和靜態方法

PHP類中包含屬性和方法,在實例化一個對象的時候,每一個對象都擁有自己的屬性和方法的拷貝。但是有一種情況例外,那就是類裏麵的靜態屬性和靜態方法,今天就來了解一下類裏麵的靜態屬性和靜態方法。

靜態屬性

和常規屬性不同,類的靜態屬性屬於類本身,而不屬於任何類的實例,它們也被叫做類屬性。你可以在任何地方通過類來訪問靜態屬性,因此你也可以把靜態屬性認為是存儲在類當中的全局變量。

靜態屬性是用static關鍵字定義的,靜態屬性的訪問在類裏麵使用self::在類外麵使用類名::。下麵來看一個例子:

執行結果如下:

可以看到靜態屬性並不是屬於某一個對象的,任何一個對象改變了它的值都是對整個類生效的。

靜態方法

和靜態屬性相似,靜態方法也是屬於類本身,而不屬於任何類的實例,多以你可以不創建對象而直接通過類名直接調用。注意特殊變量$this是對對象本身的引用,由於靜態方法不屬於任何對象,所以靜態方法裏麵不能使用$this。由於靜態方法可以直接通過類名來在任何地方調用,而不必實例化,所以你可以把它當做全局方法來用,但是要注意這時靜態方法需要為public,而不能是protected和private,否則隻能在類裏麵用self來調用。下麵來看一個例子:

執行結果如下:

執行結果如下:

最後更新:2017-10-08 21:36:21

  上一篇:go PHP7 性能翻倍關鍵大揭露
  下一篇:go PHP類中訪問權限關鍵字介紹