詳しくは公式マニュアルをお読みください。
Javaって、こんな風にも書ける、とか、こうとも言う、とか、色々有るので、
以下は雰囲気だけのざっくりとした説明です。
作成中です。ミス有ったら後免。
// Kihon_1.java 2013.05.28 by Ryn public class Kihon_1 { protected String name; protected String type; protected Boolean open = false; public Kihon_1(String name) { // コンストラクタ this.name = name; } public void openSesame() { if( ! open ){ System.out.println(name + "の扉が、開きました"); open = true; }else System.out.println(name + "の扉は、既に開いています"); } public void closeSesame() { if( open ){ System.out.println(name + "の扉が、閉まりました"); open = false; }else System.out.println(name + "の扉は、既に閉じています"); } public void infoDoor() { if( open ) System.out.println(name + "の" + type + "は、開いています"); else System.out.println(name + "の" + type + "は、閉じています"); } }
// Hikido_1.java 2013.05.28 by Ryn public class Hikido_1 extends Kihon_1{ public Hikido_1(String name) { // コンストラクタ super(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 + "は、既に閉じています"); } }
// Hirakido_1.java 2013.05.28 by Ryn public class Hirakido_1 extends Kihon_1{ public Hirakido_1(String name) { // コンストラクタ super(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 + "は、既に閉じています"); } }
import java.util.Scanner; // Alibaba_1 2013.05.28 by Ryn public class Alibaba_1 { public static void main(String[] args) { Kihon_1 door[] = new Kihon_1[2]; door[0] = new Hirakido_1 ("寝室"); door[1] = new Hikido_1("和室"); 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("終了"); } }
//Kihon.java 2013.05.28 by Ryn public class Kihon { protected String name; public Kihon(String name) { // コンストラクタ this.name = name; } public void syori() { } }
//Bunkei.java 2013.05.28 by Ryn public class Bunkei extends Kihon{ public Bunkei(String name) { // コンストラクタ super(name); } public void syori() { System.out.println(name + "は、文系クラスの処理を、行います"); } }
//Rikei.java 2013.05.28 by Ryn public class Rikei extends Kihon{ public Rikei(String name) { // コンストラクタ super(name); } public void syori() { System.out.println(name + "は、理系クラスの処理を、行います"); } }
//SeisekiSyori 2013.05.28 by Ryn public class SeisekiSyori { public static void main(String[] args) { Kihon home[] = new Kihon[3]; home[0] = new Rikei ("31ホーム"); home[1] = new Bunkei("32ホーム"); home[2] = new Bunkei("33ホーム"); for (int i = 0 ; i < 3 ; i++) home[i].syori(); } }