2016-08-22 44 views
-1

如果我有一個接口,並且希望我的接口中的函數能夠在我的子類中實現,但父類必須實現此接口。並且Sub類擴展了父類。如何從父類實現中向子類強加合同

這是我想要的。

interface MyInterface { 
    public function find(); 
} 


class B implements MyInterface { 
} 

class A extends B { 
} 

但拋出錯誤說找到()函數必須在B級加入

任何人誰能夠告訴我什麼我做錯了?謝謝!

+0

尊敬的選民,請評論或解釋你爲什麼投票,以便你可以幫助我增長更多。謝謝! –

回答

2

接口是一個結構,它包含一組必須在每個實現此接口的類中實現的字段和方法。如果您的Bimplements MyInterface這意味着它必須實現其所有方法/字段。

interface MyInterface 
{ 
    public function find(); 
} 

class B implements MyInterface { 
    public function find() 
    { 
     echo "Hello world"; 
    } 
} 

A類是不是也要實現這個方法呢?我會留下它作爲你的功課。

+0

界面不是抽象類 –

+0

@tereško,哇,你說得對,我爲什麼......修正了,謝謝。 – 5208760