【S4】問6

 このコードは、異なる種類の食品を表現し、各食品の準備と調理を管理します。
しかし、各食品の共通の振る舞いが不足しており、条件分岐が多数存在しています。
以下のソースコードをリファクタリングしなさい。
また、未使用の項目は削除すること。

<?php

class FoodItem
{
    private string $name;
    private string $type;

    public function __construct(string $name, string $type)
    {
        $this->name = $name;
        $this->type = $type;
    }

    public function prepare(): void
    {
        if ($this->type === "fruit") {
            echo "フルーツ:{$this->name}を洗いました" . PHP_EOL;
        } elseif ($this->type === "vegetable") {
            echo '野菜:{$this->name}を切りました' . PHP_EOL;
        }
    }

    public function cook(): void
    {
        if ($this->type === "fruit") {
            echo "フルーツ:{$this->name}を切りました" . PHP_EOL;
        } elseif ($this->type === "vegetable") {
            echo "野菜:{$this->name}を煮ました" . PHP_EOL;
        }
    }
}
                    
<?php

$apple = new FoodItem("りんご", "fruit");
$apple->prepare();
$apple->cook();

$carrot = new FoodItem("にんじん", "vegetable");
$carrot->prepare();
$carrot->cook();