我把一些PHP中類的常識性整理出來,讓新手們更容易掌握PHP類,以便能快速看懂那些老大們寫的程序,呵呵,不過比較少,希望老大們補充一下或者修正其中錯誤理解。
Q:PHP中的類別可以有建構子麼?
A:可以,只要函數名稱和類別名稱相同,這個函數就會成為建構子。在使用 new 操作符來建立一個類別的實例時,該構造函數將會自動調用,因此,可以把一些初始化工作放在建構函數裡完成。
Q:PHP中的類別有析構函數麼?
A:沒有。當物件被銷毀,使用 unset() 或簡單的脫離範圍,析構函數都會自動呼叫。但 PHP 中沒有析構函數。 如:
unset($foo);
就銷毀一個類別物件$foo了。
Q:要如何繼承一個類別?
A:使用關鍵字 extends 來繼承一個類,如:
class B extents A {
}
Q:在類別的定義中如何引用自身?
A:使用 $this 來引用當前類別自身,如:
$this->name = "Tom";
Q:在子類別中如何使用父類別?
A:使用:: 操作符,且有兩種方式,一種是直接用父類名,如:
A::example();
一種是用parent 關鍵字,如:
parent::example();
建議採用parent:: 來引用父類別。
Q:我不想創建類別的實例,能直接使用類別中的函數或變數嗎?
A:可以,採用:: 運算符,如:
B::example();
就可以執行B類中的函數example(),而沒有創建任何B類的對象,只是作為一個類別函數來調用,這對於功能模組歸納組織很有好處。
Q:PHP有多重繼承麼? //added by erquan
A:沒有。子類別不能同時從兩個父類別繼承,即一個孩子不能同時有兩個爸爸:)。子類別必須依賴一個且必須已存在的基底類別。