インターフェイスとは?
状態:-
閲覧数:1,328
投稿日:2013-04-22
更新日:2013-10-29
・「定数」と「抽象メソッド」だけがメンバーとなる特殊なクラス
・インターフェイスは、クラスの継承のように記述するが、実装と呼ぶ
・インスタンスを生成しない
・抽象クラスとは異なり中身のあるメソッドは実装できない(実装可能なのはあくまでも「抽象メソッド」)
・多重継承可能
・インターフェイスは、クラスの継承のように記述するが、実装と呼ぶ
特徴
・インスタンスを生成しない
・抽象クラスとは異なり中身のあるメソッドは実装できない(実装可能なのはあくまでも「抽象メソッド」)
・多重継承可能
書式
class クラス名 implements インタフェース名,・・・
class クラス名 extends スーパークラス名 implements インタフェース名
class クラス名 extends スーパークラス名 implements インタフェース名
「抽象クラス」との違い
インタ-フェイス
主に継承階層の異なる複数の型をオブジェクトに持たせるために利用
・多重継承を利用したいとき(クラスでは多重継承ができないので、多重継承をするときには抽象クラスではなく、インタ-フェイスを利用)
抽象クラス
主に同一の継承階層に属するクラスに共通する処理を持ったスーパークラス(基底クラス)として定義
・実装の継承が必要なとき(インタ-フェイスでは実装を定義できないので、実装の継承が必要であれば抽象クラスを利用)
利用される場面
使いどころ
・主に「ライブラリに渡すコールバック処理を行うようなクラス」を既定するような場合(フレームワークに「マウスのボタンが押されたときに呼び出す」処理などを既定したクラスを渡すような場合など)で利用される
例
・View.OnClickListenerインターフェイス