一些PHP中類的常識

來源:文萃谷 1.96W

我把一些PHP中類的常識性整理出來,讓新手們更容易掌握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:沒有。子類不能同時從兩個父類繼承,即一個孩子不能同時有兩個爸爸:)。子類必須依賴於一個且必須已存在的基類。

熱門標籤