之前一直沒有寫過blog颂暇,都在在四處奔波尋找需要的自己想要的學(xué)習(xí)資料占哟。驀然回首想想這一路下來的艱辛里程:遇到問題滿世界找答案(卻沒有自己想要的)捶箱,開發(fā)環(huán)境弄蹦卻無從下手時(shí)候坑鱼,為弄清楚面相對(duì)象編程一兩天都沒有吃飯的時(shí)候膘流。從對(duì)php一無所知,到知道一點(diǎn)皮毛鲁沥。在這里我簡(jiǎn)要的整理了下之前有關(guān)于面相對(duì)象基礎(chǔ)的學(xué)習(xí)筆記呼股,供才入行的朋友們參考學(xué)習(xí)。如有不足之處望批評(píng)指正; E硭!
一允扇,魔術(shù)方法
1.__construct()構(gòu)造函數(shù)缠局,只要實(shí)例化對(duì)象就會(huì)調(diào)用這方法
2.__destruct()析構(gòu)函數(shù)则奥。只要對(duì)象在銷毀的一瞬間自動(dòng)調(diào)用
3.__get()在給不可訪問屬性賦值時(shí)調(diào)用
4.__set()讀取不可訪問屬性的值時(shí)條用
5.__call()當(dāng)對(duì)象訪問不存在的方法名稱時(shí),這個(gè)方法會(huì)被自動(dòng)調(diào)用
6.__callstatic()當(dāng)對(duì)象訪問不存在的靜態(tài)方法名稱時(shí)甩鳄,這個(gè)方法會(huì)被自動(dòng)調(diào)用
7.__isset()當(dāng)對(duì)不可訪問屬性條用isset()或者empty()時(shí)逞度。調(diào)用__isset()
8.__unset()當(dāng)對(duì)不可訪問屬性調(diào)用unset()時(shí),調(diào)用__unset();
9.__tostriong()當(dāng)對(duì)象被當(dāng)做字符串的時(shí)候調(diào)用這方法
10.__involve()當(dāng)對(duì)象被當(dāng)做方法的時(shí)候調(diào)用
二妙啃,類的繼承
1.單繼承:一個(gè)子類只會(huì)存在一個(gè)父類,反之一個(gè)父類允許被多個(gè)子類繼承
2.訪問限制:子類不能直接訪問父類的私有屬性和方法档泽。(private)
3.方法和屬性從定義:子類定義父類同名的方法和屬性是對(duì)父類的覆蓋。
3.調(diào)用父類方法和屬性:parent::方法(屬性)訪問父類中被覆蓋的東西
4.最終的類和方法:final 最終類和方法,不能被繼承
三揖赴,靜態(tài)類
1.static用于聲明靜態(tài)方法和屬性的關(guān)鍵字馆匿,在類的內(nèi)部調(diào)用self::方法(屬性);外部使用classname::方法(屬性)燥滑;在靜態(tài)方法中只能操作靜態(tài)屬性渐北;
四,接口interface
1.接口里面的方法不需要有方法實(shí)現(xiàn)
2.inmlements關(guān)鍵字用于表示實(shí)現(xiàn)某個(gè)接口
3.實(shí)現(xiàn)了某個(gè)接口之后铭拧,必須提供接口中定義的方法的具體實(shí)現(xiàn)
4.不能實(shí)例化接口
5.可以用instanceof關(guān)鍵字來判斷某個(gè)對(duì)象是否實(shí)現(xiàn)了某個(gè)接口var_dump($obj instanceof ICanEat)
6.接口可以繼承接口赃蛛。
五,抽象abstract class a
抽象方法是作為子類摸版使用的
抽象類不能被實(shí)力話搀菩,一個(gè)抽象類中呕臂,必須有一個(gè)抽象方法。但是抽象類中可以定義動(dòng)態(tài)函數(shù)