校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > PHP面向對象程序設計之接口的繼承定義與用法詳解

PHP面向對象程序設計之接口的繼承定義與用法詳解

熱門標簽:海南外呼系統方案 打開百度地圖標注 亳州企業外呼系統 蘇州外呼系統有效果嗎 兼職做地圖標注好賺錢嗎 400 電話 辦理 山東電銷卡外呼系統原理是什么 地圖標注怎么做商戶驗證 智能電銷語音機器人資訊

本文實例講述了PHP面向對象程序設計之接口的繼承定義與用法。分享給大家供大家參考,具體如下:

在PHP5中,接口是可以繼承自另外一個接口的。這樣代碼的重用更有效了。要注意只有接口和接口之間使用 繼承關鍵字 extends。類實現接口必須實現其抽象方法,使用實現關鍵字 implements

下面的這個例子定義接口User,User有兩個抽象方法 getName和setName。 又定義了接口VipUser, 繼承自User接口,并增加了和折扣相關的方法getDiscount。

最后定義了類 Vip ,實現了VipUser接口。并實現了其中的三個方法。

?php
interface User {
  public function getName();
  public function setName($_name);
}
interface VipUser extends User {
  public function getDiscount(); //添加了獲得折扣的抽象方法.
}
class Vip implements VipUser {
  private $name;
  private $discount = 0.8;// 定義折扣變量
  public function getName(){ //實現getName方法
    return $this->name;
  }
  public function setName($_name){//實現setName方法
    $this->name = $_name;
  }
  public function getDiscount(){//實現折扣方法.
    return $this->discount;
  }
}
?>

接口可以實現多繼承,這是接口很特殊的地方。注意下面的代碼和用法。

?php
interface User {
  public function getName();
  public function setName($_name);
}
interface Administrator {
  public function setNews($_news);
}
//注意這里的多繼承.
interface NewsAdministrator extends User,Administrator{
}
class NewsAdmin implements NewsAdministrator { //實現接口
  public function getName(){
    //.........
  }
  public function setName($_name){
    //.........
  }
  public function setNews($_news){
    //.........
  }
}
?>

抽象類實現接口,可以不實現其中的抽象方法,而將抽象方法的實現交付給具體能被實例化的類去處理。

?php
interface User {
  public function getName();
  public function setName($_name);
}
//AbstractNormalUser 只實現了 User接口中的一個方法,
abstract class AbstractNormalUser{
  protected $name;
  public function getName(){
    return $this->name;
  }
}
//這里實現了接口的另外一個方法.
class NormalUser extends AbstractNormalUser {
  public function setName($_name){
    $this->name = $_name;
  }
}
$normalUser = new NormalUser();
$normalUser->setName("tom");
echo "name is ".$normalUser->getName();
?>

運行結果:

name is tom

更多關于PHP相關內容感興趣的讀者可查看本站專題:《php面向對象程序設計入門教程》、《PHP數組(Array)操作技巧大全》、《PHP基本語法入門教程》、《PHP運算與運算符用法總結》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》

希望本文所述對大家PHP程序設計有所幫助。

您可能感興趣的文章:
  • PHP面向對象三大特點學習(充分理解抽象、封裝、繼承、多態)
  • 詳解php中的類與對象(繼承)
  • php面向對象全攻略 (七) 繼承性
  • PHP入門教程之面向對象的特性分析(繼承,多態,接口,抽象類,抽象方法等)
  • PHP面向對象程序設計高級特性詳解(接口,繼承,抽象類,析構,克隆等)
  • PHP面向對象繼承用法詳解(優化與減少代碼重復)
  • PHP面向對象程序設計OOP繼承用法入門示例
  • PHP面向對象程序設計繼承用法簡單示例
  • PHP學習記錄之面向對象(Object-oriented programming,OOP)基礎【類、對象、繼承等】
  • PHP 對象繼承原理與簡單用法示例

標簽:安康 呼倫貝爾 溫州 綏化 清遠 紹興 萊蕪 金華

巨人網絡通訊聲明:本文標題《PHP面向對象程序設計之接口的繼承定義與用法詳解》,本文關鍵詞  PHP,面向,對象,程序設計,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PHP面向對象程序設計之接口的繼承定義與用法詳解》相關的同類信息!
  • 本頁收集關于PHP面向對象程序設計之接口的繼承定義與用法詳解的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 富裕县| 宜兴市| 枣庄市| 宁南县| 盘锦市| 沂南县| 资源县| 兴安县| 车致| 洪泽县| 陈巴尔虎旗| 日照市| 乌海市| 德昌县| 大余县| 同仁县| 泸溪县| 清河县| 崇州市| 新竹县| 汝阳县| 台湾省| 罗甸县| 安达市| 来安县| 会东县| 都昌县| 海原县| 镶黄旗| 桃园市| 于都县| 江城| 南投县| 嵊州市| 华亭县| 桦南县| 绥滨县| 仪征市| 玛沁县| 宽甸| 桐乡市|