詳しくは公式マニュアルをお読みください。
Javaって、こんな風にも書ける、とか、こうとも言う、とか、色々有るので、
以下は雰囲気だけのざっくりとした説明です。
作成中です。ミス有ったら後免。
// door_Interface 2013.5.28 By Ryn public interface door_Interface { public void openSesame(); public void closeSesame(); public void infoDoor(); }
// Hikido_3.java 2013.05.28 by Ryn public class Hikido_3 implements Door_Interface{ protected String name; protected String type; protected Boolean open = false; public Hikido_3(String name) { // コンストラクタ this.name = name; type = "引き戸"; } public void openSesame() { if( ! open ){ System.out.println(name + "の" + type + "が、右に動いて開きました"); open = true; }else System.out.println(name + "の" + type + "は、既に開いています"); } public void closeSesame() { if( open ){ System.out.println(name + "の" + type + "が、左に動いて閉まりました"); open = false; }else System.out.println(name + "の" + type + "は、既に閉じています"); } public void infoDoor() { if( open ) System.out.println(name + "の" + type + "は、開いています"); else System.out.println(name + "の" + type + "は、閉じています"); } }
// Hirakido_3.java 2013.05.28 by Ryn public class Hirakido_3 implements Door_Interface{ protected String name; protected String type; protected Boolean open = false; public Hirakido_3(String name) { // コンストラクタ this.name = name; type = "開き戸"; } public void openSesame() { if( ! open ){ System.out.println(name + "の" + type + "が、手前に動いて開きました"); open = true; }else System.out.println(name + "の" + type + "は、既に開いています"); } public void closeSesame() { if( open ){ System.out.println(name + "の" + type + "が、向こうに動いて閉まりました"); open = false; }else System.out.println(name + "の" + type + "は、既に閉じています"); } public void infoDoor() { if( open ) System.out.println(name + "の" + type + "は、開いています"); else System.out.println(name + "の" + type + "は、閉じています"); } }
import java.util.Scanner; // Alibaba_3 2013.05.28 by Ryn public class Alibaba_3 { public static void main(String[] args) { Door_Interface door[] = new Door_Interface[2]; door[0] = new Hirakido_3 ("寝室"); door[1] = new Hikido_3("和室"); Scanner sc = new Scanner(System.in); int command; System.out.println("1 = Open Sesame! 2 = Close Sesami! 3 = info 0 = End"); while(( command = sc.nextInt()) != 0 ) { switch(command){ case 1: for (int i = 0 ; i < 2 ; i++) door[i].openSesame(); break; case 2: for (int i = 0 ; i < 2 ; i++) door[i].closeSesame(); break; case 3: for (int i = 0 ; i < 2 ; i++) door[i].infoDoor(); break; default: break; } } sc.close(); System.out.println("終了"); } }