- - PR -
conector.open()メソッドの戻り値
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2002-01-31 01:25
はじめまして。
CLDCにあるconectorクラスのopen()メソッドについて質問があります。 これは戻り値にconnectionインターフェイスのインスタンスを返すとリファレンスに 書いてあり、確かインターフェイスはインスタンスを作ることができないはずなのに、なぜ こういうことができるのか理解ができずに困っています。 どういう意味なのでしょうか? |
|
投稿日時: 2002-01-31 09:40
こんにちは。
connectionインターフェイスを実装(implements)しているクラスのインスタンスを返すのだと思われます。 |
|
投稿日時: 2002-01-31 09:41
これは正確に書くと、「connectionインタフェースを実装した(名前がわからない)クラスのインスタンスが返されている」といった感じになるのでしょうか。
即ち、クラス名が分からなくても、「connectionインタフェースを実装したクラス」ということだけ分かれば、「connectionインタフェースで定義されているメソッド」は使えるということになり、このクラス名やインスタンスを返すメソッドが変わったとしても、それを使う側は意識せずに使えるので便利になります。 こんな説明でいいでしょうか? |
|
投稿日時: 2002-01-31 09:44
実際にはインターフェースを実装したクラスのインスタンスが戻ります。
ただし、そのクラスが何なのかは意識する必要はありません。 インターフェースがあたかもクラスであるように使っていればよいのです。 気になるのでしたら戻ってきたインスタンスににgetClass()して実装クラスを 調べてみるのも面白いかもしれません。 このような、インターフェースを用いたやり方はどこにでも出てきます。 (java.sqlやjava.awt.event、javax.swing.eventなどのパッケージ) どうやって実装しているのか、という話でしたらSDKのソースなども 参考になるかもしれません。 [ メッセージ編集済み 編集者: まりり 編集日時 2002-01-31 09:47 ] |
|
投稿日時: 2002-01-31 09:49
レスありがとうございました。
とても参考になりました。 |
1
