Newer
Older
JavaDesignPattern / src / Actor.java
@18a5047 18a5047 on 5 Nov 2022 1 KB 完成
public class Actor {
    String name = "";

    public void showName() {
        System.out.println(name);
    }

    void getItem(Item item) {
        System.out.println(name + " は " + item.toString() + " を受け取った。");
    }

    @Override
    public String toString() {
        return name;
    }
    
    boolean isOld = false; // 年をとるとtrueに設定

    void checkOld() {
        if (this.isOld) {
            System.out.println(name + " は老人になってしまった。");
        }
    }
}

class Urashima extends Actor {
    Tamatebako tamatebako;

    Urashima() {
        name = "浦島太郎";
    }

    void rescueSomeone(Actor someone) {
        System.out.println(this.name + " は " + someone.toString() + " を助けた。");

    }

    void getItem(Item item) {
        super.getItem(item);
    }

    void openBox(Item item) {
        System.out.println(this.name + " は " + item.toString() + " を開けた。");
        this.isOld = true;
    }
}

class Kame extends Actor {
    Kame() {
        name = "亀";
    }

    void gotoRyuuguujou(Actor someone) {
        System.out.println(this.name + " は "+ someone.toString() +" を竜宮城に連れて行った。");
    }
}

class Childlen extends Actor {
    Childlen() {
        name = "子供たち";
    }

    void hit(Actor someone) {
        System.out.println(this.name + " は " + someone.toString() + " をいじめている。");
    }
}

class Otohime extends Actor {
    Tamatebako tamatebako;

    Otohime() {
        name = "乙姫";
    }

    void omotenashi(Actor someone) {
        System.out.println(this.name + " は " + someone.toString() + " をもてなした。");

    }
}