php面向?qū)ο蟮某绦蛟O(shè)計(jì)總結(jié)(整理版)

php面向?qū)ο蟮某绦蛟O(shè)計(jì)總結(jié)(整理版)

ID:34002220

大小:313.50 KB

頁(yè)數(shù):12頁(yè)

時(shí)間:2019-03-03

php面向?qū)ο蟮某绦蛟O(shè)計(jì)總結(jié)(整理版)_第1頁(yè)
php面向?qū)ο蟮某绦蛟O(shè)計(jì)總結(jié)(整理版)_第2頁(yè)
php面向?qū)ο蟮某绦蛟O(shè)計(jì)總結(jié)(整理版)_第3頁(yè)
php面向?qū)ο蟮某绦蛟O(shè)計(jì)總結(jié)(整理版)_第4頁(yè)
php面向?qū)ο蟮某绦蛟O(shè)計(jì)總結(jié)(整理版)_第5頁(yè)
資源描述:

《php面向?qū)ο蟮某绦蛟O(shè)計(jì)總結(jié)(整理版)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。

1、第8章_PHP面向?qū)ο蟮某绦蛟O(shè)計(jì)1.面向?qū)ο蟮母攀?2.構(gòu)造方法和析構(gòu)方法23.封裝性3對(duì)成員屬性封裝使用的魔術(shù)方法:__set()、__get()、__isset()、__unset()34.繼承性45.常見(jiàn)的關(guān)鍵字和魔術(shù)方法5Final關(guān)鍵字5Static關(guān)鍵字5Const關(guān)鍵字6單態(tài)設(shè)計(jì)模式:6Clone魔術(shù)方法7__toString()魔術(shù)方法7__call()魔術(shù)方法8__autoload()魔術(shù)方法8對(duì)象串行化8__sleep()和__wakeup()魔術(shù)方法96.多態(tài)性11抽象類:11接

2、口:121.面向?qū)ο蟮母攀雒嫦驅(qū)ο蟮某绦虻淖钚挝皇牵簩?duì)象面向過(guò)程的程序的最小單位是:函數(shù)對(duì)象可以包含函數(shù)對(duì)象由兩部分組成:成員屬性(變量,靜態(tài)的)和成員方法(函數(shù),動(dòng)態(tài)的);對(duì)象是通過(guò)類實(shí)例化出來(lái)的,所有面向?qū)ο蟮木幊桃?guī)則是:先聲明類---->實(shí)例化對(duì)象(創(chuàng)建對(duì)象)---->使用對(duì)象。聲明類:[一些修飾類的關(guān)鍵詞]class類名{類中成員(成員屬性,成員方法);}例如:classPerson{Private$name;Private$age;Private$sex;Functionsay(){};F

3、unctioneat(){};}實(shí)例化對(duì)象:$變量名=new類名稱([參數(shù)類表]);例如:$p1=newPerson;對(duì)象類型在內(nèi)存中的分配:內(nèi)存分為四個(gè)部分:??臻g段,堆空間段,數(shù)據(jù)段和代碼段棧:存放對(duì)象的地址。堆:存放可變長(zhǎng)度的數(shù)據(jù):字符串,數(shù)組和對(duì)象數(shù)據(jù)段:存放初始化變量,全局變量等代碼端:存放執(zhí)行文件的操作指令(函數(shù))對(duì)象中的成員訪問(wèn):賦值:$引用名->成員屬性=值;獲取:echo$引用名->成員屬性。調(diào)用成員方法:$引用名->成員方法。$this代表本對(duì)象。2.構(gòu)造方法和析構(gòu)方法構(gòu)造方法:是

4、對(duì)象創(chuàng)建完成后第一個(gè)被對(duì)象自動(dòng)調(diào)用的方法。析構(gòu)方法:是對(duì)象被銷毀前自動(dòng)調(diào)用的方法構(gòu)造方法的作用:為成員屬性初始化。Function__construct([參數(shù)列表]){//構(gòu)造方法名稱是以兩個(gè)下劃線開(kāi)始的__construct();方法體;}析構(gòu)方法:Function__destruct(){//析構(gòu)方法名稱是以兩個(gè)下劃線開(kāi)始的__destruct();方法體;}3.封裝性封裝性:就是把對(duì)象的成員屬性和成員方法結(jié)合成一個(gè)獨(dú)立的相同單位。并盡可能隱蔽對(duì)象的內(nèi)部細(xì)節(jié)。封裝所有的關(guān)鍵詞有:public,p

5、rivate,protect.對(duì)成員屬性封裝使用的魔術(shù)方法:__set()、__get()、__isset()、__unset()__set():設(shè)置私有屬性值時(shí)自動(dòng)調(diào)用的魔術(shù)方法__get():獲取私有屬性的值的時(shí)候調(diào)用的魔術(shù)方法__isset():在外部直接查看私有屬性是否存在時(shí)自動(dòng)調(diào)用的魔術(shù)方法__unset():刪除對(duì)象中私有屬性時(shí)自動(dòng)調(diào)用的方法。實(shí)例:此程序的執(zhí)行結(jié)果:4.繼承性類的繼承性(擴(kuò)展性)使所建立的軟件具有開(kāi)放性、可擴(kuò)充性、增加代碼的可重用性、提高軟件的可維護(hù)性。Php是單繼承的父

6、類(基類)--------子類(派生類)父類和子類就是一種繼承的關(guān)系子類可以從父類中繼承所有的成員屬性和成員方法(除了private類型成員的不能繼承)訪問(wèn)類型控制:privateprotectedpublic同一個(gè)類中√√√類的子類中√√所有的外部成員√子類中重載父類的方法:子類和聲明和父類相同的方法名,即子類覆蓋了父類中同名的方法。在子類中也可以改寫(xiě)重載的方法。在類中調(diào)用父類的方法用parent::在外部:對(duì)象->成員類名::成員注意:如果子類再聲明構(gòu)造方法時(shí),如果父類中已經(jīng)有了構(gòu)造方法(子類覆蓋

7、),一定要調(diào)用一次父類中的構(gòu)造方法,否則父類中的構(gòu)造方法就執(zhí)行不到了,這樣有一些的功能就不能自動(dòng)執(zhí)行。此程序運(yùn)行飛結(jié)果為:5.常見(jiàn)的關(guān)鍵字和魔術(shù)方法Final關(guān)鍵字可以修飾類和成員方法,不能修飾成員屬性和常量使用final修飾的類,不能有擴(kuò)展(繼承)使用final修飾的方法,不能被子類覆蓋。Static關(guān)鍵字可以修飾成員屬性和成員方法靜態(tài)的成員在同一個(gè)類中的所有對(duì)象都是公用的靜態(tài)成員只要類一加載就將靜態(tài)成員分配到內(nèi)存的數(shù)據(jù)段里使用static標(biāo)識(shí)的成員是屬于類的,所以要使用類名訪問(wèn),不能使用對(duì)象去訪問(wèn)

8、在類內(nèi)部使用self代表本類引用靜態(tài)方法不能訪問(wèn)非靜態(tài)的成員如果在方法中使用不到非靜態(tài)成員,最好聲明為靜態(tài)方法。Const關(guān)鍵字只能修飾成員屬性,使用const修飾的成員屬性時(shí)屬于類的,所有訪問(wèn)方式和靜態(tài)成員是一樣的,都是通過(guò)類名或在成員方法中使用self關(guān)鍵字訪問(wèn)。即在類外部使用類名訪問(wèn),在類內(nèi)部使用self訪問(wèn)類中聲明常量時(shí)必須給初值。單態(tài)設(shè)計(jì)模式:類只有一個(gè)對(duì)象實(shí)例:本程序的執(zhí)行結(jié)果為:Clone魔術(shù)方法__toString()魔術(shù)方法它是在直接輸

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。