简单工厂模式

简单工厂模式

建立一个工厂类,对实现了同一接口的一些类进行实例的创建。简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例。

//接口
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;
    }

}

此处的例子是通过枚举来判断应当返回哪种子类对象(当然字符串也可以当做判断的条件),实际应用中可以使用反射搭配一起使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值