工厂方法

意义

定义一个用于创建对象的接口,但是由子类决定实例化哪个类。工厂方法使一个类的实例化延迟到其子类。

好处

与简单工厂相比较,克服了简单工厂违背开放-封闭原则的缺点,又保持了封装对象创建过程的优点。

具体实现

image.png

实现代码

public abstract class Factory {
    abstract public Product create();
}
public class FactoryChild1 extends Factory {
    @Override
    public Product create() {
        return new ProductChild1();
    }
}
public class FactoryChild2 extends Factory {
    @Override
    public Product create() {
        return new ProductChild2();
    }
}
public abstract class   Product {
    public abstract void use();
}
public class ProductChild1 extends Product {
    @Override
    public void use() {

    }
}
public class ProductChild2 extends Product {
    @Override
    public void use() {

    }
}

你可能感兴趣的:(工厂方法)