需求说明:
通过接口摸拟麦当劳食物生产过程
实现思路:
通过接口摸拟麦当劳食物生产过程的实现思路:
创建接口食物(Food),该接口需要被所有的食物类所实现。在该接口中定义getFood()方法。
创建麦香鸡类(McChicken) ,该类实现Food接口,并重写Food接口的getFood()方法。
创建薯条类(Chips),该类实现Food接口,并重写Food接口的getFood()方法。
创建生产食品的工厂类(FoodFactory),在该类中定义静态方法createFood(String type)方法,在该方法中通过传入参数的字符串值,判断用户需要何种食物,如果工厂中有该食物,则创建该食物对象,否则给出友好提示信息。
实现代码:
接口食物(Food):
public interface Food { void getFood(); }
麦香鸡类(McChicken):
public class McChicken implements Food { @Override public void getFood() { } }
薯条类(Chips):
public class Chips implements Food{ @Override public void getFood() { } }
生产食品的工厂类(FoodFactory):
public class FoodFactory { public static Food createFood(String type){ //通过传递的字符串参数判断用户需要的食物 if(type.equals("mcchicken")) { //如果条件满足则创建对象的食物对象 return new McChicken(); }else if(type.equals("chips")) { return new Chips(); } else { System.out.println("对不起没有该食物!"); return null; } } }
创建客户(Client):
public class Client { public static void main(String[] args) { //通过食物工厂创建食物 Food mcchicken=FoodFactory.createFood("mcchicken"); mcchicken.getFood(); Food chips=FoodFactory.createFood("chips"); chips.getFood(); } }