首頁 >後端開發 >PHP問題 >php static方法是指什麼?

php static方法是指什麼?

青灯夜游
青灯夜游原創
2020-07-22 13:44:122477瀏覽

在php中,static方法指的是「靜態方法」;透過static關鍵字修飾的成員屬性和成員方法稱為靜態屬性和靜態方法;靜態方法不能存取這個類別中的普通屬性,因為那些屬性屬於一個對象,但可以存取靜態屬性。

php static方法是指什麼?

PHP static:靜態方法與屬性

在 PHP 中,透過static 關鍵字修飾的成員屬性和成員方法稱為靜態屬性和靜態方法,這裡可以將它們統稱為靜態成員,類別中的靜態成員與類別中的一般成員不同,靜態成員不會被實例化到物件中,也就是說我們不需要實例化一個類,就可以透過類別來存取靜態成員。

【相關教學推薦:《PHP教學》】

在類別中宣告靜態變數很容易,我們可以在類別的普通成員前面加上一個static 關鍵字,就可以將這個普通成員變成靜態成員了。這樣一來,我們可以在不實例化類別的情況下,直接存取類別中的這些靜態成員。存取靜態成員的語法格式如下:

类名::$静态属性
类名::静态方法()

其中::符號被稱為範圍解析操作符,用於存取靜態成員、靜態方法和常數,還可以用於覆蓋類別中的成員和方法。

如果要在類別內部的成員方法中存取靜態屬性,只要在靜態屬性的名稱前面加上操作符self::即可。

靜態方法

(1)靜態方法不能存取這個類別中的普通屬性,因為那些屬性屬於一個對象,但可以存取靜態屬性;

(2)從目前類別(不是子類別)存取靜態方法或屬性,可以使用self 關鍵字,self 指向目前類,就像$this  指向目前物件一樣;

(3)不能再物件中呼叫靜態方法,靜態方法和屬性又被稱為類別方法和類別屬性,因此不能再物件中使用偽變數$this 。

靜態方法的優點:

(1)在程式碼的任何地方都可以用(假設可以存取該類別);

(2 )類別的每個實例都可以存取類別中定義的靜態屬性,可以利用靜態屬性來設定值,該值可以被類別的所有物件使用;

(3)不需要實例物件來存取靜態屬性或方法。

php靜態方法的好處及不足

1、static方法是類別中的一個成員方法,屬於整個類別,即使不用建立任何物件也可以直接調用!

2、靜態方法效率上要比實例化高,靜態方法的缺點是不自動進行銷毀,而實例化的則可以做銷毀。

3、靜態方法和靜態變數創建後始終使用同一塊內存,而使用實例的方式會創建多個內存。

4、C 中,若類別的方法前面加了static關鍵字,則該方法稱為靜態方法,反而為實例方法。靜態方法為類別所有,可以透過物件來使用,也可以透過類別來使用。但一般提倡透過類別名稱來使用,因為靜態方法只要定義了類,就不必建立類別的實例就可使用。靜態方法只能用類別的靜態成員。

推薦學習:PHP程式設計從入門到精通

#

以上是php static方法是指什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn