クラスのセットにインターフェイスを使用しています。ただし、インターフェイスで許可されるようにしたいため、問題がvisibilityあります(つまりpublic、 、protectedおよびprivate)。
親メソッドのみを保護する必要があり、子メソッドを非公開にする必要がありますが、次のエラーが表示されます
致命的なエラー: インターフェイス メソッド Baz::qux() のアクセス タイプは、<Baz/Bar を含むファイル> で省略しなければなりません。"
インターフェイスで他の表示方法を指定してBaz削除しようとしましpublicたが、すべて失敗しました。
インターフェイスを介してそれを行う方法はありますか?そうでない場合、それを宣言できる方法はありますか、それabstractも試しましたが失敗しました。
interface Baz
{
public function qux();
}
class Bar implements Baz
{
protected function qux()
{
//do foo
}
}
class Foo extends Bar implements Baz
{
private function qux()
{
parent::qux();
}
}