演習問題2(ショッピングカート 一覧)


演習問題2-1 (Factory Method)

同じ種類のものが、野菜(Vegetable)ならば300円以上、肉(Meat)ならば500円以上購入されたら、印(*)をつけるようにします。先に作成した Food クラスとそのサブクラス、Cart クラスを修正して、ショッピングカートに入れた商品の一覧が実行結果のように表示されるようにしなさい。

ただし、その他のクラスを変更してはいけません。また、印をつける金額が変更されても、Vegetable クラス、Meat クラス、Cart クラスを変更しなくてもよいようにしなさい。


実行結果
大根
牛肉*
トマト*
豚肉


コード

Enshu201.java
public class Enshu201 { public static void main(String[] args) { Cart cart = new Cart(); cart.add(new Vegetable("大根", 125, 1)); cart.add(new Meat("牛肉", 395, 400)); cart.add(new Vegetable("トマト", 69, 5)); cart.add(new Meat("豚肉", 98, 200)); System.out.println(cart.getList(new ListName())); } }
List.java
public abstract class List { public abstract String getList(java.util.List<Food> foods); }








演習問題2-1 (Factory Method)