【Java】インターフェイス(interface)構文の使い方

■インターフェイス(interface)構文とは

インターフェイス構文とは、抽象クラス(※)の内容が、抽象メソッドのみの場合、使用することができる構文である。
また、抽象クラスと同様に、インターフェイスも複数のクラスをまとめる型となる。

(※)抽象クラスの使い方の参照先

▼インターフェイス構文の定義方法

interface インターフェイス名{
    // ここにメソッドを記入
    void メソッド名();
}

// 継承するクラス その1
class クラス名1 implemets インターフェイス名 {
    // ここにインターフェイスで定義したメソッドの処理内容を記入
    	public void メソッド名() {
		処理を書く
	}
}

// 継承するクラス その2
class クラス名2 implemets インターフェイス名{
    // ここにインターフェイスで定義したメソッドの処理内容を記入
	public void メソッド名() {
		処理を書く
	}
}


public class メインクラス{
	public static void main(String[] args) {
		// インターフェイスを配列でインスタンス
		インターフェイス名[] 配列名 = new インターフェイス名[2];
		
		// 配列にクラスをセットする
		配列名[0] = new クラス名1();
		配列名[1] = new クラス名2();
	}
}

インターフェイス構文中に記述されたメソッドについては、abstractを指定しなくても、抽象メソッドとみなされる。

インターフェイスを継承する場合は、implementsを使用する。

■今回実装するプログラムの仕様

インターフェイス構文を使用して、以下の3種類の道順メッセージを表示する。
・右に曲がってください
・左に曲がってください
・直進してください

▼サンプルコード

// 道順を表示するインターフェイスの定義
interface Directions {
	// 道順表示メソッド(抽象メソッド)
	void ShowDirections();
}

// 右に曲がる指示を表示するクラス
class TurnRight implements Directions{
	// 右に曲がる指示を表示するメソッド
	public void ShowDirections() {
		System.out.println("右に曲がってください");
	}
}

// 左に曲がる指示を表示するクラス
class TurnLeft implements Directions{
	// 左に曲がる指示を表示するメソッド
	public void ShowDirections() {
		System.out.println("左に曲がってください");
	}
}

// 直進する指示を表示するクラス
class GoStraight implements Directions{
	// 直進する指示を表示するメソッド
	public void ShowDirections() {
		System.out.println("直進してください");
	}
}

// メイン処理をするクラス
public class Sample {
	public static void main(String[] args) {
		// 道順を表示するインターフェイスをインスタンス
		Directions[] d = new Directions[3];
		
		// 道順を格納する
		d[0] = new TurnRight();
		d[1] = new TurnLeft();
		d[2] = new GoStraight();
		
		// 要素数分道順を表示する
		for(int i = 0; i < d.length; i++) {
			d[i].ShowDirections();
		}
		
	}
}

▼実行結果

右に曲がってください
左に曲がってください
直進してください
タイトルとURLをコピーしました