インターフェイス継承とは何ですか?
インターフェイスの継承は、特定の機能がクラスによって継承される特定のコンピューター言語のメカニズムであり、その特定のクラスが完了するには、それらの機能の実装を提供する必要があります。 インターフェイスは、特定のオブジェクト指向プログラミング言語にのみ存在します。 通常、クラスが継承できるインターフェイスの数に制限はないため、クラスを実際に継承することを許可せずに、複数の継承をエミュレートするために使用できます。 実装されていないメソッドに加えて、インターフェイスにはパブリック定数を含めることもできます。
インターフェイスの継承では、メソッドスタブと定数を継承するオブジェクトは、インターフェイスオブジェクトの一種と見なされます。 したがって、クラスXがインターフェイスYから継承された場合、クラスXのインスタンスはクラスYのインスタンスにもなります。これは、クラスのインターフェイス継承に複数の個別のインターフェイスが含まれる場合、より複雑になります。 継承されるすべての追加インターフェイスについて、結果のクラスをそれぞれのインスタンスとして正当に使用できます。 クラスが10個の異なるインターフェイスから継承された場合、そのクラスのオブジェクトは、自身を含む11個の異なるオブジェクトのインスタンスとして使用できます。
多くの場合、このような複雑な継承は必要ありません。 インターフェイスの継承を使用して、クラスに必要な動作の特定のセットがあることを確認し、これらの動作により、他の方法では実行できなかったさまざまな機能を実行できます。 この一般的な例は、JavaのActionListenerインターフェースです。このインターフェースでは、特定のメソッドを1つだけ実装するためにクラスが必要です。 このメソッドの実装が成功すると、ユーザーはボタン、メニュー項目、または必要に応じてクラス内の他のウィンドウオブジェクトを制御できます。 インターフェイスの継承は、ほとんどの複雑な継承の問題を心配することなく、クラスに複雑な機能を追加する比較的簡単な方法です。
インターフェイス継承を使用する最大の利点の1つは、特定のオブジェクトを一般的な意味で使用できることです。 インターフェイスを実装するクラスはそのインターフェイスのインスタンスであるため、そのインターフェイスのインスタンスが必要な場所であればどこでも使用できます。 たとえば、クラスAがクラスCを実装し、クラスBもクラスCを実装している場合、メソッドがパラメーターとしてクラスCのインスタンスを取る場合、クラスAのインスタンスまたはクラスBのインスタンスのいずれかを使用することができます。 。 インターフェイスは完全ではないため、独自にインスタンス化することはできません。したがって、純粋にパラメーターとしてクラスCのインスタンスであるオブジェクトは存在しません。