[FAQ]PHP中的一些常識:類篇

來源:互聯網
上載者:User


我把一些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:沒有。子類不能同時從兩個父類繼承,即一個孩子不能同時有兩個爸爸:)。子類必須依賴於一個且必須已存在的基類。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.