1. 程式人生 > >PHP中的 extends與implements 區別

PHP中的 extends與implements 區別

extends 是繼承某個類 ,繼承之後可以使用父類的方法 ,也可以重寫父類的方法。

implements 是實現多個介面,介面的方法一般為空的,必須重寫才能使用.

extends是繼承父類,只要那個類不是宣告為final或者那個類定義為abstract的就能繼承,php中不支援多重繼承,但是可以用介面來實現,這樣就要用到implements,繼承只能繼承一個類,但implements可以實現多個介面,用逗號分開就行了 。
比如 :
class A extends B implements C,D,E

extends 繼承類implements 實現介面

類和介面是不同的。類裡是有程式實現的;而介面無程式實現,只可以預定義方法 extends 繼承類
interface的引入是為了部分地提供多繼承的功能。
在interface中只需宣告方法頭,而將方法體留給實現的class來做。
這些實現的class的例項完全可以當作interface的例項來對待。
在interface之間也可以宣告為extends(多繼承)的關係。
注意一個interface可以extends多個其他interface。