淺談PHP中的一些常識(shí):類篇_PHP教程
推薦:PHP 5.0對(duì)象模型深度探索面向?qū)ο缶幊瘫辉O(shè)計(jì)來為大型軟件項(xiàng)目提供解決方案,尤其是多人合作的項(xiàng)目. 當(dāng)源代碼增長(zhǎng)到一萬行甚至更多的時(shí)候,每一個(gè)更動(dòng)都可能導(dǎo)致不希望的副作用. 這種情況發(fā)生于模塊間結(jié)成秘密聯(lián)盟的時(shí)候,就像第一次世界大戰(zhàn)前的歐洲。 //haohappy注:喻指模塊間的關(guān)聯(lián)度
我把一些PHP中類的常識(shí)性整理出來,讓新手們更容易掌握PHP類,以便能快速看懂那些老大們寫的程序,呵呵,不過比較少,希望老大們補(bǔ)充一下或者修正其中錯(cuò)誤理解。
Q:PHP中的類可以有構(gòu)造函數(shù)么?
A:可以,只要函數(shù)名和類名相同,這個(gè)函數(shù)將成為構(gòu)造函數(shù)。在使用 new 操作符來創(chuàng)建一個(gè)類的實(shí)例時(shí),該構(gòu)造函數(shù)將會(huì)自動(dòng)調(diào)用,因此,可以把一些初始化工作放在構(gòu)造函數(shù)里完成。
Q:PHP中的類有析構(gòu)函數(shù)么?
A:沒有。當(dāng)對(duì)象被銷毀,使用 unset() 或者簡(jiǎn)單的脫離范圍,析構(gòu)函數(shù)都會(huì)自動(dòng)調(diào)用。但 PHP 中沒有析構(gòu)函數(shù)。 如:
unset($foo);
就銷毀一個(gè)類對(duì)象$foo了。
Q:要如何繼承一個(gè)類?
A:使用關(guān)鍵字 extends 來繼承一個(gè)類,如:
class B extents A {
}
Q:在類的定義中如何引用自身?
A:使用 $this 來引用當(dāng)前類自身,如:
$this->name = "Tom";
Q:在子類中如何使用父類?
A:使用 :: 操作符,且有兩種方式,一種是直接用父類名,如:
A::example();
一種是用 parent 關(guān)鍵字,如:
parent::example();
建議采用 parent:: 來引用父類。
Q:我不想創(chuàng)建類的實(shí)例,能直接使用類中的函數(shù)或變量嗎?
A:可以,采用 :: 操作符,如:
B::example();
就可以執(zhí)行B類中的函數(shù)example(),而并沒有創(chuàng)建任何B類的對(duì)象,僅僅是作為一個(gè)類函數(shù)來調(diào)用,這對(duì)于功能模塊歸納組織很有好處。
Q:PHP有多重繼承么?//added by erquan
A:沒有。子類不能同時(shí)從兩個(gè)父類繼承,即一個(gè)孩子不能同時(shí)有兩個(gè)爸爸:)。子類必須依賴于一個(gè)且必須已存在的基類。
分享:談PHP中漢字替換與模式匹配的問題PHP 4.0中新添加了30個(gè)與組數(shù)有關(guān)的函數(shù),其中一些常見的函數(shù)可以判斷一個(gè)數(shù)組中是否包含某個(gè)元素,對(duì)一個(gè)數(shù)組中的元素進(jìn)行計(jì)數(shù),添加或刪除數(shù)組中的元素或者對(duì)數(shù)組中的元素進(jìn)行排序。 如果有一個(gè)很大的數(shù)組,而你需要找出其中是否包含一個(gè)特定的元素,就可
- PHPNOW安裝Memcached擴(kuò)展方法詳解
- php記錄頁(yè)面代碼執(zhí)行時(shí)間
- PHP中獎(jiǎng)概率的抽獎(jiǎng)算法程序代碼
- apache設(shè)置靜態(tài)文件緩存方法介紹
- php對(duì)圖像的各種處理函數(shù)代碼小結(jié)
- PHP 關(guān)于訪問控制的和運(yùn)算符優(yōu)先級(jí)介紹
- 關(guān)于PHP語言構(gòu)造器介紹
- php/js獲取客戶端mac地址的實(shí)現(xiàn)代碼
- php5.5新數(shù)組函數(shù)array_column使用
- PHP preg_match的匹配多國(guó)語言的技巧
- php 中序列化和json使用介紹
- php采集文章中的圖片獲取替換到本地
- 相關(guān)鏈接:
- 教程說明:
PHP教程-淺談PHP中的一些常識(shí):類篇
。