詳しくは公式マニュアルをお読みください。
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("終了");
}
}