インターフェイスを定義した後、1 つ以上のクラスでそれを実装できます。
インターフェイスを実装するには、クラス定義のimplements句を使用します。
クラスは、インターフェイスに必要なすべてのメソッドを実装する必要があります。
implements 句を含むクラスの一般的な形式は次のとおりです:
クラス クラス名はスーパークラスを拡張し、インターフェイス {
を実装します
// クラス本体
}
複数のインターフェイスを実装するには、インターフェイスをカンマで区切ります。
インターフェイスを実装する場合、extends 句はオプションです。
インターフェイスを実装するメソッドは public として宣言する必要があります。
実装メソッドの署名は、インターフェイスで指定された署名と正確に一致する必要があります。
Series インターフェイスの実装例:
この例では、ByTwos クラスは Series インターフェイスを実装し、getNext() メソッドを呼び出すたびに 2 ずつ増加する一連の数値を生成します。
ByTwos クラスの getNext()、reset()、および setStart() メソッドは、パブリック アクセス指定子を使用して宣言されます。
これが必要なのは、インターフェイスで定義されたメソッドを実装するときに、そのメソッドを public として宣言する必要があるためです。
インターフェイスのすべてのメンバーは暗黙的にパブリックであるため、クラスの実装ではこのアクセス修飾子を尊重する必要があります。
これは ByTwos を説明するクラスです:
getPrevious() メソッドを含めても、Series インターフェイスを変更する必要はありません。
インターフェイスに影響を与えることなく実装を変更できる柔軟性は、オブジェクト指向プログラミングでインターフェイスを使用する主な利点の 1 つです。
抽象クラス:
クラスにインターフェイスが含まれていても、そのインターフェイスによって定義されているすべてのメソッドが実装されていない場合は、抽象として宣言する必要があります。
抽象クラスは直接インスタンス化できません (つまり、抽象クラスからオブジェクトを作成できません)。
これらは抽象スーパークラスとして使用でき、サブクラスがインターフェイスのメソッドの完全な実装を提供できるようになります。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3