新人成長記録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



アプリ関連ニュース

お問い合わせはこちら

お問い合わせ・ご相談はお電話、またはお問い合わせフォームよりお受け付けいたしております。

tel. 06-6454-8833(平日 10:00~17:00)

お問い合わせフォーム