インターフェースを定義した後、1 つ以上のクラスでそれを実装できます。
インターフェイスを実装するには、クラス定義でimplements 句を使用します。
クラスは、インターフェースに必要なすべてのメソッドを実装する必要があります。
implements 句を含むクラスの一般的な形式は次のとおりです。
クラス classname はスーパークラスを拡張し、インターフェイスを実装します {
// クラス本体
}
複数のインターフェイスを実装するには、インターフェイスをカンマで区切ります。
インターフェースを実装する場合、extends 句はオプションです。
インターフェースを実装するメソッドは public として宣言する必要があります。
実装メソッドの署名は、インターフェイスで指定された署名と正確に一致する必要があります。
Series インターフェースの実装例:
この例では、ByTwos クラスは Series インターフェイスを実装し、getNext() メソッドを呼び出すたびに 2 ずつ増加する一連の数値を生成します。
ByTwos クラスの getNext()、reset()、および setStart() メソッドは、パブリック アクセス指定子を使用して宣言されます。
これが必要なのは、インターフェイスで定義されたメソッドを実装するときに、そのメソッドを public として宣言する必要があるためです。
インターフェイスのすべてのメンバーは暗黙的にパブリックであるため、クラスの実装はこのアクセス修飾子を尊重する必要があります。
ByTwos を説明するクラスは次のとおりです。
getPrevious() メソッドを含めても、Series インターフェイスを変更する必要はありません。
インターフェイスに影響を与えることなく実装を変更できる柔軟性は、オブジェクト指向プログラミングでインターフェイスを使用する主な利点の 1 つです。
抽象クラス:
クラスにインターフェースが含まれていても、そのインターフェースで定義されているメソッドをすべて実装していない場合は、抽象として宣言する必要があります。
抽象クラスを直接インスタンス化することはできません (つまり、抽象クラスからオブジェクトを作成することはできません)。
これらは抽象スーパークラスとして使用でき、サブクラスがインターフェイス メソッドの完全な実装を提供できるようになります。
以上がインターフェースの実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。