设计模式之抽象工厂(java实现)

interface Product{
	public  void createProduct(); 	
	
}
 interface Keyboard extends  Product{
}
 interface Mouse extends Product{}	
 
 class LeisheMouse implements Mouse{
	 @Override
	public void createProduct(){
		System.out.println("雷蛇鼠标");
	}
 }
 class LeisheKeyboard implements Keyboard{
	@Override
	public void createProduct(){
		System.out.println("雷蛇键盘");
	}
}
class LuojiKeyboard implements Keyboard{
	@Override
	public void createProduct(){
		System.out.println("罗技键盘");
	}
}
class LuojiMouse implements Mouse{
	@Override
	public void createProduct(){
		System.out.println("罗技鼠标");
	}
}
 interface Factory{
	public  Keyboard createKeyboard();
	public  Mouse createMouse();
	//public  abstract Mouse Luoji();
}
class LeisheFactory implements Factory{
	@Override
	public Keyboard createKeyboard(){
			return new LeisheKeyboard();
	}
	
	@Override
	public Mouse createMouse(){
			return new LeisheMouse();
	}
}
class LuojiFactory implements Factory{
	@Override
	public Keyboard createKeyboard(){
			return new LuojiKeyboard();
	}
	
	@Override
	public Mouse createMouse(){
			return new LuojiMouse();
	}
}
public class Demo{
	
	public static void main(String[] argv){
		System.out.println("hh");
		Factory f=new LeisheFactory();
		f.createKeyboard().createProduct();
		f.createMouse().createProduct();
		Factory ff=new LuojiFactory();
		ff.createKeyboard().createProduct();
		ff.createMouse().createProduct();
	}
}

思路:1.创建我们抽象产品类

           2.基于抽象产品类,写产品的抽象层

           3.具体实现每个抽象产品的需求

             我们需要一个工厂类来封装我们每一个产品族

          4.创建一个抽象工厂类来抽象出来我们所需要构建的每一个产品族

               根据抽象出来的产品族我们构建出具体的产品

           5.实现抽象工厂的每一个接口,让我们得以返回我们需要的产品

  • 9
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值