アプリ版:「スタンプのみでお礼する」機能のリリースについて

andoroidプログラミングを勉強している初心者です。
インターフェースの実装 というのが全くわからず困っています。
インターフェースはテレビのリモコンみたいなものだ、と本でみたことがありますが
意味が全くわかりません。

class クラス名 implements インタフェース名 {
:
}
でインターフェースが実装できるということですが、
何のためにこれをやるのでしょうか?

A 回答 (1件)

>インターフェースはテレビのリモコンみたいなものだ



これでは私もわかりません(苦笑)。

インターフェイスは、クラスに決められたメソッドの実装を保証するものです。

例えば、クラスA implements インターフェイスX というように書くと、インターフェイスXに用意されているメソッドを必ずクラスAに書かなければいけません。つまり、それらのメソッドが存在することがJavaのシステムによって保証される、ということです。

メソッドの存在が保証されるということはどういうことか? それはつまり、そのメソッドが存在するものとして、それを利用する形であらかじめ処理が書いておけるということです。

例えば、ボタンのクラスがあったとします。これを継承したサブクラスに、ボタンをクリックした時のイベントリスナーというインターフェイスがimplementsされたとします。すると、そのクラスには必ずクリックした時のイベント処理用のメソッドが用意されるわけです。

ということは、Androidのシステムは、「このボタンをクリックしたら、そこにこのイベントリスナーが組み込まれているかどうかチェックし、組み込まれているならこのメソッドを呼び出してクリックした時のイベント処理を実行する」というような形で、あらかじめクリック時の仕組みを用意しておけるわけです。

そうやってあらかじめAndroidのシステムには、「このクラスにこのインターフェイスが組み込まれていたら、こういう状況でこのメソッドを実行する」というような仕掛けがいろいろなところで用意されているのですね。

そのために、GUIの部品のクラスにimplements ○○とやってそのメソッドを実装すれば、イベントが生じると自動的にそのメソッドが呼び出されるようになる、というわけです。
    • good
    • 0
この回答へのお礼

とても親切に解説いただき、
ありがとうございました!
よくわかりました!

お礼日時:2012/10/24 23:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!