- - PR -
インターフェイスのメリット
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-11-04 21:34
インターフェイスのメリットがいまいち分かりません。
自分で本を読んだりネットで調べた限りでは メソッド名のみ書いて他のクラスで実装するため、プロジェクトでは便利 という風に解釈しました。 1. それだけのメリットならばインターフェイス多重実装ってそんなに必要ないのでは。 (インターフェイスはなにもできないため) たとえばcollectionクラスは collection(クラス) −set(インターフェイス) −−sortedset(インターフェイス) となっているようですが、なにか意味があるのでしょうか? あいまいな質問ですいません。 インターフェイスのメリットを理解したいので 宜しくお願いします。 | ||||
|
投稿日時: 2004-11-04 22:48
説明をしても既にご覧になった本やサイトと同じになってしまうと思います。
感覚をつかむにはいろいろとコードを読んだり書いてみたりすることをオススメします。 必要ないと感じるうちはインターフェースを使わずに書いてみましょう。 そのうちインターフェースがないとカユいな、と思うようになるはずです ![]() [ メッセージ編集済み 編集者: インギ 編集日時 2004-11-04 22:49 ] | ||||
|
投稿日時: 2004-11-05 00:19
Javaは多重継承を許していないですからねぇ。
| ||||
|
投稿日時: 2004-11-05 00:33
間違い。 「Javaは多重継承を制限付きでサポートする」が正解。 | ||||
|
投稿日時: 2004-11-05 00:36
一応インターフェイスは多重継承可です。
| ||||
|
投稿日時: 2004-11-05 00:41
おばけさん、こんにちは。
いや、たしかにインターフェースは多重継承がないことを補いはしますが、 多重継承の代替にするのが目的ではないでしょう。 『なにをやるか』(目的…抽象…インターフェース)と 『どうやるか』(手段…具象…実装)をうまく切り離すために あるのだと思います。 特に、オブジェクト間で参照し会うときでも、間接的、抽象的に 扱うことによって、強い依存を避けるために必要です。 実際のコードを書きながら『デザインパターン』を試してみると 早く理解できるようになると思います。 | ||||
|
投稿日時: 2004-11-05 00:53
C++で苦しんだ事がない人には、実装の多重継承とインターフェースの多重継承の区別はつかないのでしょうか・・・?
| ||||
|
投稿日時: 2004-11-05 02:03
1 不要なメソッドのアクセスを避けられる。
(バグの少ないプログラム作成のため、セキュリティのため) 2 メソッド呼び出し元や他への影響なく、実装の内容を後で変更できる。 3 必要最低限なものだけを提供するので、読みやすい。 実装することで何がしたいのか目的が理解させやすい。 使ってるうちになんとなく理解できますよ。 |