2016-08-22 6 views
-1

私はインターフェイスを持っていて、自分のインターフェイスの関数をサブクラスに実装したいが、親クラスはインターフェイスを実装する必要があります。サブクラスは親クラスを拡張します。親クラス実装からのサブクラスへのコントラクトの適用方法

これは私が欲しいものです。

interface MyInterface { 
    public function find(); 
} 


class B implements MyInterface { 
} 

class A extends B { 
} 

しかし、エラーが発見()関数は、クラスBに追加しなければならないと言ってスローされます私が間違っているのかに私を啓発することができ

誰ですか?ありがとう!

+0

投票者の皆様、私がもっと成長するのを助けることができるように投票理由を説明してください。ありがとう! –

答えて

2

インターフェイスは、このインターフェイスを実装するすべてのクラスに実装する必要がある一連のフィールドとメソッドを含む構造体です。 Bクラスimplements MyInterfaceの場合は、すべてのメソッド/フィールドを実装する必要があります。

interface MyInterface 
{ 
    public function find(); 
} 

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

Aクラスもこの方法を実装する必要がありますか?私はあなたの宿題としてそれを残します。

+0

インターフェイスは抽象クラスではありません –

+0

@tereško、うわー、そうです、なぜ私は...固定、ありがとう。 – 5208760

関連する問題