• ベストアンサー

androidのインターフェースについて

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

質問者が選んだベストアンサー

  • ベストアンサー
noname#177743
noname#177743
回答No.1

>インターフェースはテレビのリモコンみたいなものだ これでは私もわかりません(苦笑)。 インターフェイスは、クラスに決められたメソッドの実装を保証するものです。 例えば、クラスA implements インターフェイスX というように書くと、インターフェイスXに用意されているメソッドを必ずクラスAに書かなければいけません。つまり、それらのメソッドが存在することがJavaのシステムによって保証される、ということです。 メソッドの存在が保証されるということはどういうことか? それはつまり、そのメソッドが存在するものとして、それを利用する形であらかじめ処理が書いておけるということです。 例えば、ボタンのクラスがあったとします。これを継承したサブクラスに、ボタンをクリックした時のイベントリスナーというインターフェイスがimplementsされたとします。すると、そのクラスには必ずクリックした時のイベント処理用のメソッドが用意されるわけです。 ということは、Androidのシステムは、「このボタンをクリックしたら、そこにこのイベントリスナーが組み込まれているかどうかチェックし、組み込まれているならこのメソッドを呼び出してクリックした時のイベント処理を実行する」というような形で、あらかじめクリック時の仕組みを用意しておけるわけです。 そうやってあらかじめAndroidのシステムには、「このクラスにこのインターフェイスが組み込まれていたら、こういう状況でこのメソッドを実行する」というような仕掛けがいろいろなところで用意されているのですね。 そのために、GUIの部品のクラスにimplements ○○とやってそのメソッドを実装すれば、イベントが生じると自動的にそのメソッドが呼び出されるようになる、というわけです。

norm1234
質問者

お礼

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

関連するQ&A