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