新人成長記録10th
FragmentのイベントをActivityで受け取るのにinterfaceとimplementsについて詳しく学習する機会がありました
そこで、学習した内容をまとめたいと思います
今回では、interfaceとimplementsとはどのようなものかを記述します
それぞれの関係性を簡単に説明すると、interfaceでメソッドの定義を行い、implementsにてclassに実装します
次回に、FragmnetのイベントをActivityで受け取る内容にしていきます
interfaceとは
あるクラスにおいて実現するべきメソッドの名前や型を定義しておくものです
例えば以下のようなinterfaceがあるとします
interface calc { //奇数のチェック boolean checkOdd(int num); //引数を2倍 int twice(int num); }
このinterfaceを実装(implements)したclassは2つのメソッドを実装しなければなりません
interfaceは実装者に明確にメソッドを実装させることができます
しかし、その強制力から本当に必要なメソッドのみを定義しないといけないと思いました
implementsとは
interfaceの実装に使用します
extendsでの継承は1つまでとなり、javaでの多重継承は許されていません
しかし、implementsでは複数の実装が可能です
先ほどのinterfaceを実装したクラスは以下のようになります
public class practice implements calc{ @Override public boolean checkOdd(int num) { if(sum % 2 == 1){ return true; }else{ return false; } } @Override public int twice(int num) { return sum * 2; } }
interfaceを実装する時には、定義されているメソッドを実装していないとコンパイル時にエラーとなります
終わりに
1度リリースすると、interfaceは変更がとても困難です。
そのために、設計の時点で十分に仕様を詰めて実装する必要があります
今回の学習では、比較的簡単なinterfaceを理解できるようになりました
火曜日担当:poppy
admin at 2016年10月18日 10:00:55