简单工厂模式

简单工厂模式

简单工厂模式举例:一位老板去玩具工厂下订单,玩具工厂生产两种玩具,通过老板的要求生产其玩具。
首先创建一个工厂类,采用单例模式:

public class Factory{
	
	static final int IRON_MAN = 1; //定义玩具种类;
	static final int CAPTAIN = 2;
	private Factory factory = new Factory(); //单例模式创建实例
	private Factory(){}
	public static Factory getInstance(){  //静态方法返回实例
		return factory;
	}

	public Toy produceToy(int type){    //根据参数创建不同的玩具,使用了多态
		Toy toy = null;                 //父类引用
		if(type == IRON_MAN){
			toy = new IronMan();
		}else if(type == CAPTIAN){
			toy = new Captian();
		}
		return toy;
	}
}

创建一个玩具抽象类:(因为不同的玩具外观和玩法不同)

public class abstract Toy{
	public abstract void say();  
}

创建不同的玩具类继承抽象玩具类并实现其中的方法:

public class IronMan extends Toy {
	public IronMan(){}
	public void say(){
		System.out.println("我是钢铁侠...");
	}
}
public class Captain extends Toy{
	public Captain(){}
	public void say(){
		System.out.println("我是美国队长...");
	}
}

main方法中测试:

Factory factory = Factory.getInstance();
Toy toy = factory.produce(Factory.IRON_MAN);
toy.say();
Toy toy2 = factory.produce(Factory.CAPTIAN);
toy2.say();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值