第二题应该这样吧
一个Food类,Bread和Chicken继承于它
Oven继承于某个类(家电?),它有个Bake(Food food)

解决方案 »

  1.   

     
    第二个  我觉得不应该把食物的 烤 抽象出来,烤鸡和烤面包都继承 food 就可以了   烤是行为,应该做为 烤箱的 方法   
      

  2.   

    试着写了下第二个,还是有很多变化没有封装好package myJavaTest;import java.util.*;public class Test1 {
    public static void main(String[] args) {
    Rebot botA=new RebotA();
    Food ch1=new Chicken("Chicken");
    Food du1=new Duck("Duck");
    Food du2=new Duck("Duck");
    FoodEquipment rm=new RoastMachine();
    rm.addFood(ch1);
    rm.addFood(du1);
    rm.addFood(du2);
    botA.setUseEquipment(rm);
    botA.useEquipment();
    }
    }interface Rebot{
    void setUseEquipment(Equipment eq);//给robot一个电器
    void useEquipment();//使用电器
    }class RebotA implements Rebot{
    private Equipment equip=null;
    public void setUseEquipment(Equipment eq){
    equip=eq;
    }
    public void useEquipment(){
    equip.use();
    }
    }abstract class Food{
    String name;
    String getName(){
    return name;
    }
    Food(String na){
    name=na;
    }
    }class Chicken extends Food{
    Chicken(String na){
    super(na);
    }
    }class Duck extends Food{
    Duck(String na){
    super(na);
    }
    }interface Cook{//做食物的方法
    void work(Food fd);//使用一种方式做食物
    }class Roast implements Cook{
    public void work(Food fd){
    System.out.println("Roast a "+fd.getName());
    }
    }interface Equipment{//一种电器
    void use();//使用电器
    }interface FoodEquipment extends Equipment{//做饭的电器
    void cookFood();//cook所有放入的食物
    void addFood(Food fd);//放入食物
    void removeFood(String name,int count);//取出食物
    }class RoastMachine implements FoodEquipment{
    private ArrayList<Food> foodContainer=new ArrayList<Food>();
    private Cook ck=new Roast();
    public void addFood(Food fd){//放入食物
    foodContainer.add(fd);
    }
    public void removeFood(String name,int count){//取出食物

    }
    public void cookFood(){//cook所有放入食物
    for(Food fd:foodContainer){
    ck.work(fd);
    }
    }
    public void use(){//使用电器的cookfood方法
    cookFood();
    }

    }
      

  3.   

    我个人感觉啊
    1. 应该用Exception异常处理来做
    2. 应该是工厂模式+消息(消费者?)模式
    3. 。没看明白想干啥