php晉級必備:一文讀懂php接口的特點和使用!

PHP接口與類是什麼關係?

前面提到了php中抽象類和抽象方法,今天給大家談談php中接口技術。在PHP中每個類只能繼承一個父類,如果聲明的新類繼承了抽象類實現了以後,這個新類就不能有其它的父類了。但是在實際中需要繼承多個類實現功能,為了解決不能繼承多個類的問題php引入了接口概念。PHP接口與類是什麼關係?PHP接口是一種特殊的抽象類,而抽象類又是一種特殊的類,所以PHP接口也是一種特殊類的。抽象類和PHP接口都不能實例化對象,需要通過子類實現。

php晉級必備:一文讀懂php接口的特點和使用!

接口的特點

在PHP接口中所有聲明的方法都必須是抽象方法,方法不需要用abstract關鍵字,因為方法默認是公共權限,也不需要用pubilc表示。不能在接口中聲明變量,可以使用const關鍵字聲明常量屬性,PHP接口中所有成員必須有public的訪問權限。類聲明用“class”關鍵字,而接口的聲明是使用“interface”關鍵字,可以使用extends關鍵字讓接口去繼承接口,實現接口之前擴展。聲明格式如下:

php晉級必備:一文讀懂php接口的特點和使用!

接口中內全部抽象方法,需要子類的對象去調用在子類中實現方法。類去繼承接口時需要使用“implement”關鍵字來實現,不是使用extends關鍵字完成。抽象類去實現接口中的部分方法,也需要使用implement關鍵字實現。聲明一個接口A,抽象類B使用implements繼承了接口A,抽象類B中聲明接口A中的抽象方法a,聲明一個類C中繼承了接口A中的抽象方法a和抽象方法b。代碼如下:

php晉級必備:一文讀懂php接口的特點和使用!

php接口使用注意事項

PHP是單繼承的,一個類只能有一個父類,但是接口可以實現多個接口。將要實現的多個接口之前使用逗號分隔開,而且子類要將所有的接口中的抽象方法全部實現才能創建對象,否則會出錯。接口相當於一個規範,打個比方接口像是國家法律,而抽象類就像是單位的規章制度,在單位要遵守的單位制度同時也要遵守國家的法律。實現繼承多個接口語法是class 類名 接口1,接口2,接口3,....接口n{}。最後在提醒大家一次子類一定要實現接口中所有的抽象方法,否則會報錯!

每天分享一個知識點,每日寄語:Perseverance until success !(堅持不懈直到成功)


分享到:


相關文章: