PHP介面繼承及介面多繼承詳解

2021-06-27 18:08:12 字數 1065 閱讀 1238

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

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

<?php 

inte***ce father  

inte***ce fam extends father  

class test implements fam  

function cook($name)  

}  $t=new test(); 

$t->shuchu(); 

$t->cook("媽媽");  

?> 

**執行結果如下:

介面繼承,要實現兩個抽象方法

平時經常做飯的人是:媽媽

上面的示例是介面繼承了乙個介面,所以在test類實現fam介面的時候要例項兩個抽象方法,就是把介面的子類和父類的抽象方法都例項。

下面來看乙個介面多繼承的示例,**如下:

<?php 

inte***ce father 

inte***ce mother 

inte***ce fam extends father,mother 

class test implements fam 

function shuchu() 

function cook($name) 

} $t=new test(); 

$t->shuchu(); 

$t->dayin("小強");  

$t->cook("媽媽");  

?> 

示例執行結果:

介面繼承,要實現兩個抽象方法

我的名字是:小強

平時經常做飯的人是:媽媽

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

PHP介面繼承及介面多繼承原理與實現方法詳解

在php的介面中,介面可以繼承介面。雖然php類只能繼承乙個父類 單繼承 但是介面和類不同,介面可以實現多繼承,可以繼承乙個或者多個介面。當然介面的繼承也是使用extends關鍵字,要多個繼承的話只要用逗號把繼承的介面隔開即可。需要注意的是當你介面繼承其它介面時候,直接繼承父介面的靜態常量屬性和抽象...

54 多重繼承(下)單繼承多介面

1 多重繼承問題三 derived繼承basea和baseb,如果ab中都含有1個虛函式,那麼derived就會疊加產生2個虛函式表指標指向這兩個虛函式表 include include using namespace std class basea class baseb class derive...

C 介面實現多繼承

前言 本博文主要講解c 介面實現多繼承,更多關於介面 繼承的知識,請檢視 c 介面 inte ce 精講 c 隱式介面與顯式介面 c 繼承細則,你真的知道嗎?介面是方法的抽象,如果不同的類有同樣的方法,那麼就應該考慮使用介面。c 中介面可以多繼承,介面之間可以相互繼承和多繼承。乙個類可以同時繼承乙個...