4

これは、完全に説明できないように見える oop のインターフェースに関する唯一の質問です。繰り返しになりますが、なぜ oop でクラスが複数のインターフェースを実装できるのでしょうか?

いくつかの例を提供できれば、それは素晴らしいことです。前もって感謝します。

4

4 に答える 4

10

概念例

複数のインターフェースについて私が考える方法は、インターフェースは動詞または形容詞のようなものであり、クラスは主語のようなものです。

トラは走ることができるので、Tiger classは を実装する可能性がありますRunnable Interface

トラは食べることができるので、5月にTiger class実装されEatable Interfaceます。

クラスのインスタンスはさまざまな動作をする可能性があるため、対応するさまざまなインターフェイスを持つことができます。

現実的な例

java.util Class HashMap<K,V>

実装しますSerializable, Cloneable, Map<K,V>

すべてのインターフェースは Class HashMap の特性です。

于 2013-05-29T06:59:48.263 に答える
1

インターフェイスは本質的に抽象的です(もちろん、定義によるものではありません)。したがって、すべてのメソッドは具象サブクラスで実装する必要があります。このようにして、死の致命的なダイヤモンドを回避し、それ自体が答えとなる方法で多重継承をサポートします複数のインターフェイスの実装が許可されます。

他にも多くの用途がありますが、上記の説明により、複数の実装の概念を制限する理由は他にありません....私の知る限りでは。

于 2016-07-05T10:01:38.677 に答える
1

まず、Java は多重継承をサポートしていないため、2 つのクラスを同時に拡張することはできません。ただし、Java は複数のインターフェースの実装をサポートしています。Mingyu が示した例は、私には完璧に思えます。

于 2013-05-29T07:06:23.953 に答える