前些天面SPSS的几道比试题 以及我的答案 请牛人赐教~ 谢谢 第二题应该这样吧一个Food类,Bread和Chicken继承于它Oven继承于某个类(家电?),它有个Bake(Food food) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 第二个 我觉得不应该把食物的 烤 抽象出来,烤鸡和烤面包都继承 food 就可以了 烤是行为,应该做为 烤箱的 方法 试着写了下第二个,还是有很多变化没有封装好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(); } } 我个人感觉啊1. 应该用Exception异常处理来做2. 应该是工厂模式+消息(消费者?)模式3. 。没看明白想干啥 synchronized & sleep 使用JarOutputStream和Manifest类生成jar文件时,manifest.mf中文出现乱码,如何解决? 求助!!把一个.dat二进制文件,解析成csv文件输出 PUSH...return POP,在java历史个什么语法? 一个很奇怪的问题 求java计算八字的程序 请教将excel数据导入数据库 如何为jtree的不同结点加不同的图标 j2ee j2se 到底有什么区别?谁能够详细的告诉我? java 的帮助文档有吗?怎样查找函数? 大家帮忙看下几个JAVA题目~~谢谢啊 各位前辈,小弟有问题请教~~~~
第二个 我觉得不应该把食物的 烤 抽象出来,烤鸡和烤面包都继承 food 就可以了 烤是行为,应该做为 烤箱的 方法
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();
}
}
1. 应该用Exception异常处理来做
2. 应该是工厂模式+消息(消费者?)模式
3. 。没看明白想干啥