java学习笔记之工厂模式——2021/03/22

工厂模式(FactoryMethod)

一、相关概念

FactoryMethod模式是设计模式应用最为广泛的模式,在面向对象的编程中,对象的创建工作非常简单,对象的创建时机却很重要。FactoryMethod解决的就是这个问题,它通过面向对象的手法,将所要创建的具体对象的创建工作延迟到了子类,从而提供了一种扩展的策略,较好的解决了这种紧耦合的关系。

二、工厂方法举例

在真正的开发工作中,都是合作开发,每个开发人员写部分代码,大家集合在一起就是一个项目。
在这里插入图片描述

  1. 定义宝马车的产品接口
//BWM.java
/*
宝马车的产品接口
*/
public interface BWM{
	//产品的信息介绍
	//车的发动方式
	void showInfo();

/*
构建具体的车的类
*/

class BWM3 implements BWM{
	
	@Override
	public void showInfo(){
		System.out.println("这个是宝马3系车");
	}
}

class BWM5 implements BWM{
	
	@Override
	public void showInfo(){
		System.out.println("这个是宝马5系车");
	}
}

class BWM7 implements BWM{
	
	@Override
	public void showInfo(){
		System.out.println("这个是宝马7系车");
	}
}
}
  1. 建一个工厂接口
//BWMFactory.java
/*
汽车生产工厂接口
*/
public interface BWMFactory{
	BWM productBWM();
}

/*
实现具体的车型的生产工厂
*/
class BWM3Factory implements BWMFactory{
	
	@Override
	public BWM productBWM(){
		System.out.println("生产宝马3系车");
		return new BWM3;
	}
}

class BWM5Factory implements BWMFactory{
	
	@Override
	public BWM productBWM(){
		System.out.println("生产宝马5系车");
		return new BWM5;
	}
}

class BWM7Factory implements BWMFactory{
	
	@Override
	public BWM productBWM(){
		System.out.println("生产宝马7系车");
		return new BWM7;
	}
  1. 建一个测试类
//Test2,java
public class Test2{
	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对象给隔离,通过产品的接口可以实现不同实际产品的实现类,实例的类名的改变不影响其他合作开发人员的编程。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值