简单工厂模式

简单工厂模式: 我们在去吃鸡的时候, 不需要去后厨找不同的厨师给我们做各种各样的鸡, 只需要给服务员说我们要吃的鸡的名称,就可以得到想要的鸡。
这里服务员就是工厂,我们给工厂一个信息, 工厂就给我们相应的结果。

这里其实违背了开闭原则, 我们增加一个菜品的时候, 需要修改工厂里面的代码。

public class SingleFantasy {
    public static void main(String[] args) {
        Chicken colaChicken = Factory.getChicken("CurryChicken");
        System.out.println(colaChicken.getClass().getName());
    }
}

abstract class Chicken {
    protected String name;
}

class ColaChicken extends Chicken {

}

class CurryChicken extends Chicken {

}

class Factory {
    private static Chicken chicken = null;
    public static Chicken getChicken(String name) {
        if (name.equals("ColaChicken"))
            chicken = new ColaChicken();
        else if (name.equals("CurryChicken"))
            chicken = new CurryChicken();
        return chicken;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值