工厂方法模式

定义个抽象父类,抽象父类中定义一个抽象的创建对象的方法,然后由子类来创建相应的对象,这样子我们还需要添加产品的话,只需要创建新的子类就可以了。适合创建单个产品使用

案例

工厂方法模式-LMLPHP

代码

定义一个产品以及一个实现类

/**
 * 产品
 *
 * @author: Hui
 **/

public interface Product {

    void  use();

    
}
/**
 * 实现类
 *
 * @author: Hui
 **/
public class Product1 implements Product{
    @Override
    public void use() {
        System.out.println("Product1");
    }
}

定义抽象父类以及具体的子类工厂

/**  抽象父类
 *
 *
 * @author: Hui
 **/
public abstract class Factory {

    public abstract Product createProduct();

}

/** 具体的子类工厂
 *
 *
 * @author: Hui
 **/
public class CreateFactory1 extends Factory{

    @Override
    public Product createProduct() {
        return new Product1();
    }
}

客户端使用

/**  客户端使用
 * 
 *
 * @author: Hui
 **/
public class Client {

    public static void main(String[] args) {

        Factory factory = new CreateFactory1();

        factory.createProduct().use();
        
    }
}

输出结果

工厂方法模式-LMLPHP

07-10 03:58