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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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();?>運行實例,輸出:我的名字叫:張三我的年齡是:2016.2__clone()方法如果想在克隆后改變原對象的內容,需要在類中添加一個特殊的__clone()方法來重寫原本的屬性和方法。__clone()方法只會在對象被克隆的時候自動調用。實例15:使用_clone()方法重寫對象原來的屬性和方法實例代碼如下:<?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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論