任何PHP開發人員在使用物件導向建立WEB應用程式時,都需要掌握6個關鍵字,他們分別是:
1.Private
2.Public
3.Protected
4.Static
5.Final
6.Abstract
對於前三個關鍵字,他們在類別內部存取關係如下圖:
Protected
Protected的訪問等級僅次於Private,被定義為Protected的屬性(變數)或方法不僅在本類中可以被訪問,在該類別的子類別中同樣可以訪問,這是Private屬性所不能的。
Public
Public具有最大的存取權限,被定義成Public的屬性(變數)或方法可以在程式的任何位置、任何時間存取。
static
當我們在類別中聲明一個屬性(變數)為static,那麼該屬性的值在其所有物件中都是可見的,是一個共享變量,因此,static屬性值依賴類別而非物件。靜態屬性不能透過物件訪問,而是用類別名稱加::符號直接存取。
同樣,靜態方法也具有物件共享特性,但需要注意如下兩點:
1.直接透過類別名稱加上::存取靜態方法
2.靜態方法中不能使用$this關鍵字
Final
如果屬性(變數)被Final修飾,那麼該屬性(變數)值就不能改變,如果是函數,則函數不能被覆寫或重寫。
Abstract
定義為Abstract的類別不能被實例化。任何一個類,如果它裡面至少有一個方法是被宣告為Abstract,那麼這個類別就必須被宣告為Abstract。被定義為Abstract的方法只是聲明了其呼叫方式(參數),不能定義其特定的功能實作。