PHP程序設(shè)計(jì)基礎(chǔ)(微課版)(第2版)課件 9.PHP抽象方法與抽象類(lèi)及對(duì)象克隆_第1頁(yè)
PHP程序設(shè)計(jì)基礎(chǔ)(微課版)(第2版)課件 9.PHP抽象方法與抽象類(lèi)及對(duì)象克隆_第2頁(yè)
PHP程序設(shè)計(jì)基礎(chǔ)(微課版)(第2版)課件 9.PHP抽象方法與抽象類(lèi)及對(duì)象克隆_第3頁(yè)
PHP程序設(shè)計(jì)基礎(chǔ)(微課版)(第2版)課件 9.PHP抽象方法與抽象類(lèi)及對(duì)象克隆_第4頁(yè)
PHP程序設(shè)計(jì)基礎(chǔ)(微課版)(第2版)課件 9.PHP抽象方法與抽象類(lèi)及對(duì)象克隆_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

PHP抽象方法與抽象類(lèi)、對(duì)象克隆演講人15PHP抽象方法與抽象類(lèi)0116PHP對(duì)象克隆03抽象方法的實(shí)現(xiàn)02目錄0115PHP抽象方法與抽象類(lèi)15.1抽象方法01抽象方法指沒(méi)有方法體的方法,具體就是在方法聲明的時(shí)候沒(méi)有{}括弧以及其中的內(nèi)容,而是直接在聲明時(shí)在方法名后加上分號(hào)結(jié)束。02abstract關(guān)鍵字用于定義抽象方法,語(yǔ)法如下:03abstractfunctionfunction_name();abstract關(guān)鍵字用于定義抽象方法與抽象類(lèi)。15.2抽象類(lèi)只要一個(gè)類(lèi)里面有一個(gè)方法是抽象方法,那么這個(gè)類(lèi)就要定義為抽象類(lèi)。抽象類(lèi)同樣用abstract關(guān)鍵字來(lái)定義。抽象類(lèi)不能產(chǎn)生實(shí)例對(duì)象,通常是將抽象方法做為子類(lèi)方法重載的模板使用的,且要把繼承的抽象類(lèi)里的方法都實(shí)現(xiàn)。實(shí)際上抽象類(lèi)是方便繼承而引入的。實(shí)例13:使用abstract關(guān)鍵字定義抽象類(lèi)實(shí)例代碼如下:<?phpabstractclassAbstractClass{//定義抽象方法abstractprotectedfunctiongetValue();15.2抽象類(lèi)//普通方法publicfunctionprintOut(){print$this->getValue()."<br/>";}}classConcreteClassextendsAbstractClass{protectedfunctiongetValue(){return"抽象方法的實(shí)現(xiàn)";}}}$class1=newConcreteClass;$class1->printOut();?>輸出結(jié)果抽象方法的實(shí)現(xiàn)在這個(gè)實(shí)例中,父類(lèi)定義了抽象方法以及對(duì)于方法的實(shí)現(xiàn),但實(shí)際的內(nèi)容卻在子類(lèi)里定義。02抽象方法的實(shí)現(xiàn)抽象方法的實(shí)現(xiàn)在這個(gè)實(shí)例中,父類(lèi)定義了抽象方法以及對(duì)于方法的實(shí)現(xiàn),但實(shí)際的內(nèi)容卻在子類(lèi)里定義。0316PHP對(duì)象克隆16PHP對(duì)象克隆clone關(guān)鍵字用于克隆一個(gè)完全一樣的對(duì)象,__clone()方法來(lái)重寫(xiě)原本的屬性和方法。16.1對(duì)象克隆關(guān)鍵字需要在一個(gè)項(xiàng)目里面使用兩個(gè)或多個(gè)一樣的對(duì)象,如果使用new關(guān)鍵字重新創(chuàng)建對(duì)象,再賦值上相同的屬性,這樣做比較煩瑣而且也容易出錯(cuò)。PHP提供了對(duì)象克隆功能,可以根據(jù)一個(gè)對(duì)象完全克隆出一個(gè)一模一樣的對(duì)象,而且克隆以后,兩個(gè)對(duì)象互不干擾。使用關(guān)鍵字clone來(lái)克隆對(duì)象。語(yǔ)法:$object2=clone$object;實(shí)例14使用關(guān)鍵字clone來(lái)克隆對(duì)象實(shí)例代碼如下:<?phpclassPerson{private$name;16.1對(duì)象克隆關(guān)鍵字

private$age;

function__construct($name,$age){

$this->name=$name;

$this->age=$age;

}

functionsay(){

echo"我的名字叫:".$this->name."<br/>"; echo"我的年齡是:".$this->age;

}}$p1=newPerson("張三",20);$p2=clone$p1;$p2->say();?>運(yùn)行實(shí)例,輸出:我的名字叫:張三我的年齡是:2016.2__clone()方法如果想在克隆后改變?cè)瓕?duì)象的內(nèi)容,需要在類(lèi)中添加一個(gè)特殊的__clone()方法來(lái)重寫(xiě)原本的屬性和方法。__clone()方法只會(huì)在對(duì)象被克隆的時(shí)候自動(dòng)調(diào)用。實(shí)例15:使用_clone()方法重寫(xiě)對(duì)象原來(lái)的屬性和方法實(shí)例代碼如下:<?phpclassPerson{private$name;private$age;function__construct($name,$age){16.2__clone()方法

$this->name=$name;

$this->age=$age;

}

functionsay(){

echo"我的名字叫:".$this->name; echo"我的年齡是:".$this->age."<br/>";

}

function__clone(){

$this->name="我是假的".$this->name;

$this->age=30;

}}$p1=newPerson("張三",20);$p

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論