Javaで料理をする

概要

キッチンで食材を調理する。

interface CookMaterial {
    public void cut();

    public void roast();

    public void fly();

    public void boil();

    public void flavoring(String seasoning);
}

class Carrot implements CookMaterial {
    String status;// 食材の状態

    Carrot(String status) {
        System.out.println(status + "な人参です");
        this.status = status;
    }

    public void cut() {
        System.out.println("人参を切りました。");
    }

    public void roast() {
        System.out.println("人参を焼きました。");
    }

    public void fly() {
        System.out.println("人参を炒めました。");
    }

    public void boil() {
        System.out.println("人参を茹でました。");
    }

    public void flavoring(String seasoning) {
        System.out.println("人参に" + seasoning + "で味付けしました。");
    }

    public String toString() {
        return status + "人参";
    }
}

class Onion implements CookMaterial {
    String status;// 食材の状態

    Onion(String status) {
        System.out.println(status + "な玉ねぎです");
        this.status = status;
    }

    public void cut() {
        System.out.println("玉ねぎを切りました。");
    }

    public void roast() {
        System.out.println("玉ねぎを焼きました。");
    }

    public void fly() {
        System.out.println("玉ねぎを炒めました。");
    }

    public void boil() {
        System.out.println("玉ねぎを茹でました。");
    }

    public void flavoring(String seasoning) {
        System.out.println("玉ねぎに" + seasoning + "で味付けしました。");
    }

    public String toString() {
        return status + "玉ねぎ";
    }
}

class Kitchen {
    public Kitchen(String myKitchen) {
        System.out.println("[" + myKitchen + "]キッチンです。");
    }

    public void saute(CookMaterial material) {
        material.cut();
        material.flavoring("塩コショウ");
        material.fly();
    }

}

// 人参と玉葱の炒めもの
public class CarrotAndOnionSaute {
    public static void main(String[] args) {
        Kitchen kt = new Kitchen("わたしの");
        Carrot carrot = new Carrot("採れたて");
        Onion onion = new Onion("家で採れた採れたて");
        kt.saute(carrot);
        kt.saute(onion);
        System.out.println("[" + carrot + "]と[" + onion + "]の炒めものの出来上がり。");
    }
}

実行結果

[わたしの]キッチンです。
採れたてな人参です
家で採れた採れたてな玉ねぎです
人参を切りました。
人参に塩コショウで味付けしました。
人参を炒めました。
玉ねぎを切りました。
玉ねぎに塩コショウで味付けしました。
玉ねぎを炒めました。
[採れたて人参]と[家で採れた採れたて玉ねぎ]の炒めものの出来上がり。

細川モモの美人食堂

細川モモの美人食堂

オトナ時間。オンナ時間。

オトナ時間。オンナ時間。