3

これは難しいものです。私はフォーラムでこの質問を読みましたが、誰も満足のいく答えを思い付くことができませんでした。

C ++のバックグラウンドから来て、Javaはインターフェースを介して多重継承を実現すると言われています。継承の主な目的の1つは、たまたま「コードの再利用」です。

私は何年にもわたってインターフェースの使用法を理解しようとしてきました。インターフェイスがコードの再利用を実現するかどうかはわかりません。はいの場合、どのように?それを実証するための良いコード例を教えてください。

私はすでにインターフェースが次のとおりであることを理解しています:

  1. 契約を指定するために使用されます。
  2. クラスが果たす追加の役割、動作を指定するために使用されます。
  3. 「ポリモーフィズム」を実現するために使用されます(例:addKeyListener(KeyListener e)のようなメソッドは、KeyListenerの継承階層にない場合でも、KeyListenerを引数として実装するクラスを受け入れることができます(KeyListener型になります)。

しかし、コードを再利用する場合、具体的なメソッドのコードを自分で追加する必要がある場合、どのように役立ちますか....インターフェイスの実装を省略した方がよいでしょう。

では、インターフェイスはどのようにしてコードの再利用性を実現しますか(もしそうなら)?

4

1 に答える 1

0

C ++のバックグラウンドから来て、Javaはインターフェースを介して多重継承を実現すると言われています。継承の主な目的の1つは、たまたま「コードの再利用」です。

いいえ、Javaは多重継承を実現していません。インターフェイスは、Javaが多重継承に到達できる最も近いものですが、実際には継承ではなく、継承と同じようにコードを再利用することはできません。

コードを節約できるのは、呼び出し元のコードを複製するのではなく、すべての実装を同じように使用できることです。

于 2012-09-08T11:18:07.927 に答える