インターフェースの実装

Susan Sarandon
リリース: 2024-10-02 06:36:29
オリジナル
747 人が閲覧しました
  • インターフェースを定義した後、1 つ以上のクラスでそれを実装できます。

  • インターフェイスを実装するには、クラス定義でimplements 句を使用します。

  • クラスは、インターフェースに必要なすべてのメソッドを実装する必要があります。

  • implements 句を含むクラスの一般的な形式は次のとおりです。

クラス classname はスーパークラスを拡張し、インターフェイスを実装します {
// クラス本体
}

  • 複数のインターフェイスを実装するには、インターフェイスをカンマで区切ります。

  • インターフェースを実装する場合、extends 句はオプションです。

  • インターフェースを実装するメソッドは public として宣言する必要があります。

  • 実装メソッドの署名は、インターフェイスで指定された署名と正確に一致する必要があります。

  • Series インターフェースの実装例:

  • この例では、ByTwos クラスは Series インターフェイスを実装し、getNext() メソッドを呼び出すたびに 2 ずつ増加する一連の数値を生成します。

Implementando interfaces

  • ByTwos クラスの getNext()、reset()、および setStart() メソッドは、パブリック アクセス指定子を使用して宣言されます。

  • これが必要なのは、インターフェイスで定義されたメソッドを実装するときに、そのメソッドを public として宣言する必要があるためです。

  • インターフェイスのすべてのメンバーは暗黙的にパブリックであるため、クラスの実装はこのアクセス修飾子を尊重する必要があります。

  • ByTwos を説明するクラスは次のとおりです。

Implementando interfaces

  • インターフェースを実装するクラスが追加のメンバーを定義することは許可されており、一般的です。

Implementando interfaces

  • getPrevious() メソッドを含めても、Series インターフェイスを変更する必要はありません。

  • インターフェイスに影響を与えることなく実装を変更できる柔軟性は、オブジェクト指向プログラミングでインターフェイスを使用する主な利点の 1 つです。

Implementando interfaces

  • ByThrees クラスは Series インターフェイスも実装します。

抽象クラス:

  • クラスにインターフェースが含まれていても、そのインターフェースで定義されているメソッドをすべて実装していない場合は、抽象として宣言する必要があります。

  • 抽象クラスを直接インスタンス化することはできません (つまり、抽象クラスからオブジェクトを作成することはできません)。

  • これらは抽象スーパークラスとして使用でき、サブクラスがインターフェイス メソッドの完全な実装を提供できるようになります。

以上がインターフェースの実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート