首先我们来看一下什么是工厂模式:

工厂模式属于创建型模式,它提供了一种创建对象的最佳方式。
在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。

画图理解:

在这里插入图片描述
代码分析:

public class Test_工厂 {
	public static void main(String[] args) {
		//宝马工厂开始生产
		Factory bmw= new BMWFactory();  //多态
	        Car c =bmw.creat();         //多态
	        c.run();     
	    Factory benz = new BenzFactory();
	        Car c2 = benz.creat();
	        c2.run();
		        
		
	}

}
//定义一个车的接口
interface Car{
	//所有的车都要会跑
	void run();
}
class BMW implements Car{

	@Override
	public void run() {
		System.out.println("宝马车在路上跑");
	}
	
}
class Benz implements Car{

	@Override
	public void run() {
		System.out.println("奔驰车在路上跑");
	}	
}
//一个抽象的工厂类,用来造各种各样的车。
//也可以把工厂作为一个接口,不同的车厂去实现这个接口
abstract class Factory  {
	public abstract Car creat();
}
//定义一个宝马工厂
class BMWFactory extends Factory{
	public Car creat() {
		return new BMW();
	}
}
class BenzFactory extends Factory{
	public Car creat() {
		return new Benz();
	}
}

更多推荐