首頁  >  文章  >  後端開發  >  php實作介面繼承以及介面多繼承原理的方法

php實作介面繼承以及介面多繼承原理的方法

黄舟
黄舟原創
2017-10-19 09:21:002123瀏覽

這篇文章主要介紹了PHP介面繼承及介面多繼承原理與實作方法,簡單描述了介面繼承與多介面繼承的概念、原理,並結合實例形式給出了php介面繼承的具體實作與使用等操作技巧,需要的朋友可以參考下

本文實例講述了PHP介面繼承及介面多繼承原理與實作方法。分享給大家供大家參考,具體如下:

在PHP的介面中,介面可以繼承介面。雖然PHP類別只能繼承一個父類別(單繼承),但是介面和類別不同,介面可以實現多繼承,可以繼承一個或多個介面。當然介面的繼承也是使用extends關鍵字,要多個繼承的話只要用逗號把繼承的介面隔開即可。

要注意的是當你介面繼承其它介面時候,直接繼承父介面的靜態常數屬性和抽象方法,所以類別實作介面時必須實作所有相關的抽象方法。

現在你對PHP介面的繼承有所了解了吧,下面的範例可供參考,程式碼如下:


<?php
interface father{
  function shuchu();
}
interface fam extends father{
  function cook($name);
}
class test implements fam{
  function shuchu(){
    echo "接口继承,要实现两个抽象方法";
    echo "<br>";
  }
  function cook($name){
    echo "平时经常做饭的人是:".$name;
  }
}
$t=new test();
$t->shuchu();
$t->cook("妈妈");
?>

程式碼運行結果如下:


接口继承,要实现两个抽象方法
平时经常做饭的人是:妈妈

上面的範例是接口繼承了一個接口,所以在test類別實作fam介面的時候要實例兩個抽象方法,就是把接口的子類別和父類別的抽象方法都實例。

下面來看一個介面多繼承的範例,程式碼如下:


<?php
interface father{
  function shuchu();
}
interface mother{
  function dayin($my);
}
interface fam extends father,mother{
  function cook($name);
}
class test implements fam{
  function dayin($my){
    echo "我的名字是:".$my;
    echo "<br>";
  }
  function shuchu(){
    echo "接口继承,要实现两个抽象方法";
    echo "<br>";
  }
  function cook($name){
    echo "平时经常做饭的人是:".$name;
  }
}
$t=new test();
$t->shuchu();
$t->dayin("小强");
$t->cook("妈妈");
?>

範例運行結果:


接口继承,要实现两个抽象方法
我的名字是:小强
平时经常做饭的人是:妈妈

這段程式碼由於接口繼承了兩個接口,所有實例時要把這三個抽象類別的所有抽象方法都實例,總共有三個。看完這兩個例子,你應該對介面的繼承熟悉了吧,其實就一個單繼承和多繼承,只要實作了所有相關的抽象方法就可以了。

以上是php實作介面繼承以及介面多繼承原理的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn