0

私は多重継承とインターフェースに関連するいくつかのコード理論を読んでいます。それはすべての場所で言ったinterface is a class without implementation

1)インターフェースにメソッド/関数を実装していないことの使用は何ですか?インターフェイスを継承する異なるクラスで同じメソッドの複数の実装をサポートするためですか?

2)そこにあるコードサンプルのほとんどは、voidインターフェイスメソッドを示しているようです。インターフェイスの関数/メソッドは常にありvoidますか?

4

3 に答える 3

1

1)インターフェースにメソッド/関数を実装していないことの使用は何ですか?インターフェイスを継承する異なるクラスで同じメソッドの複数の実装をサポートするためですか?

はい。

2)そこにあるコードサンプルのほとんどは、voidインターフェイスメソッドを示しているようです。インターフェイスの関数/メソッドは常に無効ですか?

いいえ、まったくありません。何でも返すことができます。

于 2013-02-15T11:37:54.810 に答える
1

1)はい、あなたの考えは正しいです。いくつかのメソッドを持つインターフェースがあると仮定しますmakeSoundGuitarこれで、そのインターフェイスをいくつかのクラスといくつかのクラスに実装できますDrums。プログラム内で、makeSoundそのメソッドを呼び出すことができるように実装するオブジェクトがあることを知っているだけで済みます。実際の出力/サウンドがどうなるかを知る必要はありません。

2)いいえ、インターフェースには任意のシグネチャを持つメソッドを含めることができます。

于 2013-02-15T11:38:32.643 に答える
1

質問1:はい、それがインターフェイスを使用する理由の1つです。インターフェイスは、コンポーネントのAPIとしてよく使用されます。実際の実装は消費者に知られていない可能性があり、単体テストによる緩い結合とテスト容易性をサポートします。

質問2に関して:いいえ、インターフェースメソッドはクラスメソッドと同じメソッドシグネチャを持つことができます。

于 2013-02-15T11:39:21.313 に答える