Newer
Older
Onitaizi / src / Ikimono.java
@motoki miura motoki miura on 3 Feb 2022 1 KB modified
public class Ikimono {
    String name = "";
    void printName(){
        System.out.println(name);
    }
    void morau(Mono mono){
        System.out.println(name + "が "+mono.toString()+" をもらった");
    }
}
class Momotaro extends Ikimono {
    Fukuro kibiBukuro;
    Momotaro(){    name = "桃太郎";   }
    void morau(Mono mono){
        super.morau(mono);
        if (mono instanceof Fukuro) kibiBukuro = (Fukuro)mono;
    }
    void watasuKibi(Ikimono dareka){
        Kibidango oneKibi = (Kibidango)kibiBukuro.pop();
        dareka.morau(oneKibi);
        System.out.println("  残り "+kibiBukuro.size()+" 個");
    }
}
class Ojiisan extends Ikimono {
    Ojiisan(){  name = "お爺さん";   }
}
class Obaasan extends Ikimono {
    Fukuro fukuro;
    Obaasan(){
        name = "お婆さん";
        fukuro = new Fukuro();
    }
    void tsukuruKibi(){
        fukuro.add(new Kibidango());
        fukuro.add(new Kibidango());
        fukuro.add(new Kibidango());
    }
    void watasuFukuro(Ikimono dareka){
        dareka.morau(fukuro);
        fukuro = null;
    }
}
class Inu extends Ikimono {
    Inu(){   name = "犬";    }
}
class Saru extends Ikimono {
    Saru(){  name = "猿";    }
}
class Kiji extends Ikimono {
    Kiji(){  name = "キジ";   }
}