PHP靜態方法和靜態屬性及常量屬性的區別與介紹

2022-09-26 06:15:12 字數 908 閱讀 6568

php中若使用static關鍵字來修飾屬性、方法,稱這些屬性、方法為靜態屬性、靜態方法。static關鍵字宣告乙個屬性或方法是和類相關的,而不是和類的某個特定程式設計客棧的例項相關,因此,這類屬性或方法也稱為「類屬性」或「類方法」。

程式中為什麼要使用靜態方法和屬性呢?它們有幾個特性是比較有用的:不需要例項化類就可以訪問靜態方法和屬性,在**的任何地方都可以使用!

<?php class example

}echo example::$num;

echo example::staticfunc();

?>

需要注意的是:

1.靜態方法不能訪問普通屬性,只能訪問靜態屬性

2.靜態方法是以類為程式設計客棧作用域的,所以不用例項化就可以使用::來連線靜態屬性和靜態方法

3.靜態方法中不能使用偽關鍵詞

那麼常量屬性和靜態屬性有什麼區別呢?

<?php class example

?>

常量屬性不以$開頭 而是以大寫字母命名,他與靜態屬性的區別是它不可以被重新複製,否則會解析錯誤。

常量屬性

有些屬性是不能改變的

在php 5可以在類中定義常量屬性,和全域性變數一樣,類常量一旦設定後就不能改變。常量屬性用const關鍵字來宣告。常量不像常規屬性那樣以 $ 開頭。按照慣例,只能用大寫字母來命名常量,如下所示:

class shopproduct

常量屬性只包程式設計客棧含基本資料型別的值。不能將乙個物件指派給常量。像靜態屬性一樣,只能通過類而不能通過類的例項訪問常量屬性。引用常量時不需要用 $ 作為前導符,如下所示:

echoshopproduct::**ailable;

給已經宣告過的常量賦值會引起解析錯誤。

當需要在類的所有例項中都能訪問某個屬性,並且屬性值無需改變時,應該使用常量。

總結

靜態屬性和靜態方法2

潛規則 為什麼呢?回顧下 this指標是類的乙個自動生成 自動隱藏的私有成員,它存在於類的非靜態成員函式中,指向被呼叫函式所在的物件的位址。當乙個物件被建立時,該物件的 this指標就自動指向物件資料的首位址。我們從乙個比較有特色的例子來體會 this指標的工作原理 特色例子.txt。include...

php static靜態屬性和靜態方法

一 靜態屬性 靜態屬性不可以由物件通過 操作符來訪問。靜態屬性只能被初始化為文字或常量,不能使用表示式。所以可以把靜態屬性初始化為整數或陣列,但不能初始化為另乙個變數或函式返回值,也不能指向乙個物件。如何訪問靜態屬性呢?在類內部 類名 靜態屬性 或者 self 靜態屬性 在類外部 類名 靜態屬性 或...

PHP 中 static 靜態屬性和靜態方法的呼叫

這裡分析了php物件導向中static靜態屬性和靜態方法的呼叫。關於它們的呼叫 能不能呼叫,怎麼樣呼叫 需要弄明白了他們在記憶體中存放位置,這樣就非常容易理解了。靜態屬性 方法 包括靜態與非靜態 在記憶體中,只有乙個位置 而非靜態屬性,有多少例項化物件,就有多少個屬性 header content ...