欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

设计模式之工厂方法模式

程序员文章站 2024-01-05 17:18:46
...

工厂方法模式在简单工厂模式的基础上做了改进,将创建产品的操作放在了具体的子类中,消除了增加新产品时对原始工厂的修改,维护了开闭原则。
实现方法:
首先定义所有产品的公共父类(接口)

public interface Car {
	void run();
}

定义产品类

class Benz implements Car {

	@Override
	public void run() {
		System.out.println("奔驰在跑");
	}
}
class BMW implements Car {

	@Override
	public void run() {
		System.out.println("宝马在跑");
	}
}

定义工厂类

public abstract class CarFactory {
	public Car createCar();
}

为每一个产品创建工厂

public class BenzFactory extends CarFactory {
	public Car createCar(){
		return new Benz();
	}
}

public class BMWFactory extends CarFactory {
	public Car createCar(){
		return new BMW();
	}
}

创建产品

CarFactory cf = new BenzFactory();
Car c=cf.createCar();
cf = new BMWFactory();
Car b=cf.createCar();