工厂方法

public interface BWM {
     //汽车接口
	void showInfo();
}
class BWM3 implements BWM{
	@Override
	public void showInfo() {
		System.out.println("这是宝马三系车");	
	}
}
class BWM5 implements BWM{
	@Override
	public void showInfo() {
		System.out.println("这是宝马五系车");
	}
}
class BWM7 implements BWM{
	@Override
	public void showInfo() {
		System.out.println("这是宝马七系车");	
	}
}
public interface BWMFactory {
	//汽车生产工厂接口
  //返回具体车型不合适,直接返回宝马车接口
	   BWM productBWM();
}
class BWM3Factory implements BWMFactory{

	@Override
	public BWM productBWM() {
		System.out.println("这是宝马三系生产工厂");
		return new BWM3();
	}
	
}
class BWM5Factory implements BWMFactory{

	@Override
	public BWM productBWM() {
		System.out.println("这是宝马五系生产工厂");
		return new BWM5();
	}
}
class BWM7Factory implements BWMFactory{

	@Override
	public BWM productBWM() {
		System.out.println("这是宝马七系生产工厂");
		return new BWM7();
	}
	
}
public class Test {
       public static void main(String[] args) {
		BWM b3 = new BWM3Factory().productBWM();//接口接收
		b3.showInfo();
		BWM b5 = new BWM5Factory().productBWM();
		b5.showInfo();
		BWM b7 = new BWM7Factory().productBWM();
		b7.showInfo();
	}
}

上述代码通过工厂把new对象隔离,通过产品的接口可以接收不同实际产品的实现类,实例的类名改变不影响其他合作开发人员的编程。例如,想要把宝马3改为宝马1,直接修改名字即可,实例的实现没有用到宝马3,不需要任何改变。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值