這篇文章主要介紹了PHP介面繼承及介面多繼承原理與實現方法,簡單描述了介面繼承與多介面繼承的概念、原理,並結合執行個體形式給出了php介面繼承的具體實現與使用等操作技巧,需要的朋友可以參考下
本文執行個體講述了PHP介面繼承及介面多繼承原理與實現方法。分享給大家供大家參考,具體如下:
在PHP的介面中,介面可以繼承介面。雖然PHP類只能繼承一個父類(單繼承),但是介面和類不同,介面可以實現多繼承,可以繼承一個或者多個介面。當然介面的繼承也是使用extends關鍵字,要多個繼承的話只要用逗號把繼承的介面隔開即可。
需要注意的是當你介面繼承其它介面時候,直接繼承父介面的靜態常量屬性和抽象方法,所以類實現介面時必須實現所有相關的抽象方法。
現在你對PHP介面的繼承有所瞭解了吧,下面的例子可供參考,代碼如下:
<?phpinterface 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介面的時候要執行個體兩個抽象方法,就是把介面的子類和父類的抽象方法都執行個體。
下面來看一個介面多繼承的樣本,代碼如下:
<?phpinterface 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("媽媽");?>
樣本運行結果:
介面繼承,要實現兩個抽象方法我的名字是:小強平時經常做飯的人是:媽媽
這段代碼由於介面繼承了兩個介面,所有執行個體時要把這三個抽象類別的所有抽象方法都執行個體,總共有三個。看完這兩個例子,你應該對介面的繼承熟悉了吧,其實就一個單繼承和多繼承,只要實現了所有相關的抽象方法就可以了。