4

別のインターフェースを拡張するインターフェースをいつ使用できるか知りたいです。実用的な例とそれをいつ使用するかを知りたいです。

4

3 に答える 3

7

サブインターフェースがスーパーインターフェースが提供するすべてを提供し、他の重要なことを行う場合、インターフェースを拡張します。たとえば、 をSortedMap<K,V>実装Map<K,V>します。これは、ソートされたマップは、マップのすべての操作をサポートするマップであり、さらにソートされたマップにのみ適用されるいくつかの操作をサポートするためです。

これはクラス間の継承に似ていますが、複数の実装が可能です。たとえばSortedMap、ツリーではなく、ソートされたキーのリストと値の並列配列として a を実装できます。これにより、ユーザーは、残りのコードを変更することなく、より高速または優れた実装に切り替えることができます。つまり、インターフェイス間の継承により、インターフェイスへのプログラミングの利点を維持できます。

于 2012-05-17T18:20:02.860 に答える
2

のようなインターフェースを見てjava.util.Collectionjava.util.Setこれがどのように行われるか、および契約をどのように強化できるかを確認してください。

于 2012-05-17T18:18:30.417 に答える
0
  1. アプリケーションで多重継承を使用する場合は、1つのインターフェイスが他のインターフェイスを拡張する必要があります。

  2. アプリケーションを並行して開発するには、新しく発見された要件を可能な限り簡単に既存のコードに組み込むことができるようにコードを作成する必要があります。したがって、インターフェースを実装する場合、具体的なクラス名は特定の実装にロックされ、ダウンザラインの変更を不必要に困難にします。したがって、インターフェイスを拡張します。

于 2012-05-17T18:54:12.673 に答える