01php核心編程及mysql數(shù)據(jù)庫加強1筆記_第1頁
01php核心編程及mysql數(shù)據(jù)庫加強1筆記_第2頁
01php核心編程及mysql數(shù)據(jù)庫加強1筆記_第3頁
01php核心編程及mysql數(shù)據(jù)庫加強1筆記_第4頁
01php核心編程及mysql數(shù)據(jù)庫加強1筆記_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、昨日回顧2繼承4基本概念4基本語法:5幾個基本概念5控制修飾符5parent.7構(gòu)造方法和析構(gòu)方法調(diào)用同類方法的問題9覆蓋(override):10基本概念10重寫的基本要求:11最終類12最終方法12設(shè)計模式12什么叫設(shè)計模式?12工廠模式12單例模式:13數(shù)據(jù)庫操作類14設(shè)計一個類:昨日回顧面向過程:將任務(wù),分解為一個一個的連續(xù)的步驟,每個步驟去依次執(zhí)行,然后最后就完成了既定目標(biāo);面象:將任務(wù),分解為一個一個的“對象”,每個對象都有其自身的屬性和方法,整個任務(wù)的完成,就是這些對象的“各自相互獨立”有有所依從/關(guān)聯(lián)的一些行為動作(各自的小任務(wù)),最終協(xié)調(diào)完成既定目標(biāo);類:類是描述一類事物的共

2、有特息的一種語法結(jié)構(gòu)。classC對象:就是根據(jù)一個類所“生產(chǎn)”(創(chuàng)建)出來的一個“具體實物”。$o1 = new C();/對象;對象的傳值方式:先看對象的模式(結(jié)構(gòu)):$變量 -對象標(biāo)識符/(#1) -#1 對象數(shù)據(jù)本身并且:該變量中的實際是該對象的標(biāo)識符/。這個標(biāo)識符或有能力去“指象”;classC public$p1 = 1;$o1 = new C();$o2 = $o1;$o1$o2$o1-p1 = 2; echo $o2-p1;/值傳遞,此時$o2 中的也是#,此時他們的關(guān)系為:(#1) -#1 對象數(shù)據(jù)(#1)/修改的是對象#1 的 p1 屬性的值;/2$o1 = 100;var

3、_dump($o2); echo $o2-p1;/輸出:Object(C)#1p1 =2/輸出:2因為,此時他們是這樣的數(shù)據(jù)情況:$o1-100$o2#1 對象數(shù)據(jù)(#1)$o3 = new C();$o4 = & $o3; /$o3$o4$o3-p1 = 3; echo$o4-p1 ;傳遞,此時他們圖示如下:(#2) -#2 對象數(shù)據(jù)/輸出:3如果:$o3 = 300;echo $o4-p1; var_dump($o4);理解:$o3-300$o4/??報錯!/輸出:(300)#2 對象數(shù)據(jù)(此時該對象自動銷毀了)類中成員:類常量:const常量名 = 常量值;實例屬性:public$屬性名

4、 【= 初始值】;靜態(tài)屬性:sic$屬性名 【= 初始值】;實例方法:【 public】 function方法名(形參 1,形參 2,.) 。靜態(tài)方法:sic【public 】 function方法名(形參 1,形參 2,.) 。構(gòu)造方法:就是在一個類創(chuàng)建出一個對象的時候會立即自動調(diào)用的方法;方法名必須是一個固定的名字: construct;$obj1 = new C();/此時,如果類 C 中有構(gòu)造方法,就必然調(diào)用該方法;如果沒有,就不會調(diào)用。/如果有構(gòu)造方法,且?guī)?shù),此時 new 語法中,也需要有對應(yīng)的實參;析構(gòu)方法:固定的名稱: destruct;對象被銷毀的時候,會自動調(diào)用;總結(jié):類

5、,對象 -實例屬性,靜態(tài)屬性,實例方法,靜態(tài)方法:他們之之間有怎樣的可性(關(guān)系)?文字表達:$對象-普通屬性;$對象-普通方法;類名:類常量; 類名:靜態(tài)屬性;類名:靜態(tài)方法;繼承基本概念將一個類A 中的特性信息,傳遞到另一個類 B 中,此時就稱為:B 繼承 AA 派生出 B;基本語法:幾個基本概念繼承:一個類從另一個已有的類獲得其特性,稱為繼承。派生:從一個已有的類產(chǎn)生一個新的類,稱為派生。父類/子類:已有類為父類,新建類為子類。父類又可以稱為“基類”,類,子類又稱為派生類,下級類,單繼承:一個類只能從一個類繼承其特性信息。 和大多數(shù)面象的語言都是單繼承模式。C+是多繼承。擴展:在子類中再來

6、定義自己的一些新的特有的特性信息(屬性,方法和常量)。沒有擴展,繼承也就沒有意義了??刂菩揎椃问剑篶lass類名控制修飾符 屬性或方法定義;有 3 個修飾符:public 公共的:在所有位置都可(使用)。protected 受保護的:只能再該類內(nèi)部和該類的子類或父類中(使用)。private 私有的:只能在該類內(nèi)部(使用)。他們的作用是:用來“限制”其所修飾的成員的“可性”;可性:就是在代碼中使用這樣兩種語法形式的“有效性”(對象-實例屬性或方法;類:靜態(tài)屬性或方法;):控制修飾符,需要結(jié)合使用該語法形式的所在位置,才能確定是否可。有 3 個位置(范圍):某個類的內(nèi)部:某個類的繼承類的內(nèi)部:

7、某個類的外部:則,他們結(jié)合起來的可性如下:總結(jié)說明:1,public 修飾的成員,哪里都能;2,類的內(nèi)部,可以任何級別的成員;3,public 具有最寬泛的可性;private 具有最狹小的可性;protecte 則居中;類內(nèi)部繼承關(guān)系類內(nèi)部類外部publicYesYesYesprotectedYesYesNoprivateYesNoNoparentparent 表示“父母”的意思,在面象語法中,代表“父類”本質(zhì)上就是代表父類這個“類”,而不是父類的“對象”;其使用方式為:parent:屬性或方法;/通常是靜態(tài)屬性或靜態(tài)方法,但有時候可能是實例屬性或?qū)嵗椒?;對比相關(guān)的 2 個詞:關(guān)鍵字含義使

8、用位置:使用示例parent:代表父類(這個類)肯定在一個方法中parent:屬性或方法;self:代表當(dāng)前其所在的類肯定在一個方法中self:靜態(tài)屬性或方法;$this:代表調(diào)用當(dāng)前方法的對象肯定在一個方法中$this-實例屬性或方法;構(gòu)造方法和析構(gòu)方法調(diào)用同類方法的問題1,如果一個類 有 構(gòu)造方法,則實例化這個類的時候,就 不會 調(diào)用父類的構(gòu)造方法(如果有);2,如果一個類沒有構(gòu)造方法,則實例化這個類的時候,就會自動調(diào)用父類的構(gòu)造方法(如果有);3,如果一個類 有 析構(gòu)方法,則銷毀這個類的時候,就 不會 調(diào)用父類的析構(gòu)方法(如果有);4,如果一個類沒有析構(gòu)方法,則銷毀這個類的時候,就會自動

9、調(diào)用父類的析構(gòu)方法(如果有);5,如果一個類中有構(gòu)造方法或析構(gòu)方法,則就可以去“手動”調(diào)用父類的同類方法(如果有);手動調(diào)用的語法形式總是這樣:parent:構(gòu)造方法或析構(gòu)方法()則,第 5 種情況,parent 在構(gòu)造方法中的一個典型代碼(寫法):(在子類的構(gòu)造方法中,常常需要去調(diào)用父類的構(gòu)造方法,以簡化對象的初始化工作。)覆蓋(override):基本概念覆蓋,又叫“重寫”:含義:將一個類從父類中繼承過來的屬性和方法“重新定義”此時相當(dāng)于子類不想用父類的該屬性或方法,而是想要定義。覆蓋的現(xiàn)實需要:對于一個父類,或許其屬性的現(xiàn)有數(shù)據(jù)(值),子類覺得不合適,而需要有自己的新的描述;或許其方法,

10、子類覺得也不合適,需要自己來重新定義該方法中要做到事。此時就可以使用覆蓋。重寫的基本要求:控制權(quán)限:子類覆蓋的屬性或方法的具體來說:控制權(quán)限,不能“低于”父類的被覆蓋的屬性或方法的控制權(quán)限:父類: public父類: protected父類: private子類:只能是 public子類:可以說 protected 和 public子類:不能覆蓋!既父類的私有成員,不存在被子類覆蓋的可能。方法的參數(shù)形式:子類覆蓋父類的同名方法的時候,參數(shù)要求跟父類保持一致;特例:構(gòu)造方法重寫的時候參數(shù)可以不一致小注意:雖然父類的私有屬性不能被覆蓋,但子類卻可以定義自己的跟父類同名的屬性;雖然父類的私有方法不能

11、被覆蓋,但子類也不能定義自己的同名方法;最終類最終類,其實就是一種特殊要求的類:要求該類不允許往下繼承下去。形式:finalclass類名/類的成員定義。跟一般類的定義一樣!最終方法最終方法,就是一個不允許下級類去覆蓋的方法!形式:class類名finalfunction方法名(形參列表.) 。設(shè)計模式什么叫設(shè)計模式?簡單來說,設(shè)計模式就是解決某個問題的一般性代碼的經(jīng)驗性總結(jié)。類比來說:它類似之前所學(xué)的“算法”:針對某種問題,使用某種特定的語法邏輯就可以完成該任務(wù)。工廠模式所謂工廠模式,就是這樣一個類(就是所謂的工廠類):它可以根據(jù)“傳遞”給他的類名,而去生產(chǎn)出對應(yīng)的類的對象。單例模式:例,就是實例(Instance),其實就是對象(object)單例:就是一個對象;單例模式:就是設(shè)計這樣一個類,這個類只能“創(chuàng)造”出它的一個對象(實例);設(shè)計一個類:數(shù)據(jù)庫操作類設(shè)計目標(biāo):1,該類一實例化,就可以自動連接上數(shù)據(jù)庫;2,該類可以單獨去設(shè)定要使用的連接編碼(setnames)3,該類可以單獨去設(shè)定要使用的數(shù)據(jù)庫(use4,可以主動關(guān)閉連接;上述設(shè)計目錄,大致上相當(dāng)于如下幾行代碼:);$link

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論