工厂方法模式 (Factory Method Pattern)
工厂方法模式是对简单工厂模式的改进,它将工厂类做进一步的抽象,工厂类不再负责所有产品的创建,而是将具体创建工作交给子类去做,这样可以在不修改工厂角色的情况下引进新产品,即给产品创建新的工厂类。
public class Main { public static void main(String[] args){ FactoryA factoryA = new FactoryA(); factoryA.getProduct().Show(); FactoryB factoryB = new FactoryB(); factoryB.getProduct().Show(); } } // 产品类 abstract class Product { public abstract void Show(); } class ProductA extends Product { @Override public void Show() { System.out.println("生产出了产品A"); } } class ProductB extends Product { @Override public void Show() { System.out.println("生产出了产品B"); } } // 工厂类 abstract class Factory { public abstract Product getProduct(); } class FactoryA extends Factory { @Override public Product getProduct() { return new ProductA(); } } class FactoryB extends Factory { @Override public Product getProduct() { return new ProductB(); } }