PHP程序設計基礎(微課版)(第2版)課件 3.PHP final 關鍵字與類的接口_第1頁
PHP程序設計基礎(微課版)(第2版)課件 3.PHP final 關鍵字與類的接口_第2頁
PHP程序設計基礎(微課版)(第2版)課件 3.PHP final 關鍵字與類的接口_第3頁
PHP程序設計基礎(微課版)(第2版)課件 3.PHP final 關鍵字與類的接口_第4頁
PHP程序設計基礎(微課版)(第2版)課件 3.PHP final 關鍵字與類的接口_第5頁
已閱讀5頁,還剩7頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

5.5PHPfinal關鍵字陳學平

015PHPfinal關鍵字5PHPfinal關鍵字final關鍵字。final關鍵字用于定義類和方法,該關鍵字表示該類或方法為最終版本,即該類不能被繼承,或該方法在子類中不能被重載(覆蓋)。類使用final關鍵字的實例:finalclassPerson{......}final定義的類被繼承時會提示如下錯誤:Fatalerror:ClassStudentmaynotinheritfromfinalclass(Person)in...5PHPfinal關鍵字classPerson{

finalfunctionsay()

{

......

}}025PHP類的接口6.1PHP接口PHP類是單繼承,也就是不支持多繼承,當一個類需要多個類的功能時,繼承就無能為力了,為此PHP引入了類的接口技術。如果一個抽象類里面的所有方法都是抽象方法,且沒有聲明變量,而且接口里面所有的成員都是public權限的,那么這種特殊的抽象類就叫接口。接口使用關鍵字interface來定義,并使用關鍵字implements來實現接口中的方法,且必須完全實現。實例4使用關鍵字interface定義接口,并使用關鍵字implements實現接口中的方法實例代碼如下:<?php6.1PHP接口<?php//定義接口interfaceUser{

functiongetDiscount();

functiongetUserType();}//VIP用戶接口實現classVipUserimplementsUser{

//VIP用戶折扣系數

private$discount=0.8;

functiongetDiscount(){

return$this->discount;

}

functiongetUserType(){

return"VIP用戶";

}}6.1PHP接口classGoods{

var$price=100;

var$vc;

//定義User接口類型參數,這時并不知道是什么用戶

functionrun(User$vc){

$this->vc=$vc;

$discount=$this->vc->getDiscount(); $usertype=$this->vc->getUserType();

echo$usertype."商品價格:".$this->price*$discount;

}}$display=newGoods();$display->run(newVipUser); //可以是更多其他用戶類型?>6.1PHP接口運行該實例,輸出:VIP用戶商品價格:80元該實例演示了一個PHP接口的簡單應用。該實例中,User接口實現用戶的折扣,而在VipUser類里面實現了具體的折扣系數。最后商品類Goods根據User接口來實現不同的用戶報價。該實例僅限于演示PHP接口的用法,不涉及其科學與否。6.2實現多個接口PHP也可以在繼承一個類的時候同時實現多個接口:class子類extends父類implemtns接口1,接口2,...{......}6.3抽象類和接口的區別接口是特殊的抽象類,也可以看做是一個模型的規范。接口與抽象類大致區別如下:一個子類如果implements一個接口,就必須實現接口中的所有方法(不管是否需要);如果是繼承一個抽象類,只需要實現需要的方法即可。如果一個接口中定義的方法名改變了,那么所有實現此接口的子類需要同步更新方法名;而抽象類中如

溫馨提示

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

評論

0/150

提交評論