简单工厂模式
建立一个工厂类,对实现了同一接口的一些类进行实例的创建。简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例。
//接口
public interface Food {
public void makeFood();
}
public class NoodlesFood implements Food {
@Override
public void makeFood() {
System.out.println("制作了面条~");
}
}
public class RiceFood implements Food {
@Override
public void makeFood() {
System.out.println("制作了米饭");
}
}
public class FoodSimpleFactory {
//通过枚举类型来判断应该返回哪个子类对象
public static Food getFood(FoodType type) {
Food food = null;
switch (type){
case RICE:
food = new RiceFood();
break;
case NOODLES:
food = new NoodlesFood();
break;
default:
food = new NoodlesFood();
break;
}
return food;
}
//枚举类型
public static enum FoodType{
RICE,NOODLES;
}
}
此处的例子是通过枚举来判断应当返回哪种子类对象(当然字符串也可以当做判断的条件),实际应用中可以使用反射搭配一起使用。