切换主题
定义一个用于创建对象的接口,让子类决定实例化哪一个类。<工厂类的方法> 使一个类的实例化推迟到其子类。
工厂方法模式对比简单工厂来说,最核心的一点,其实就是将实现推迟到子类。
怎么理解呢?
我们可以将上回的简单工厂当做父类,然后有一堆子类去继承它。
createProduct() 这个方法在父类中也变成一个抽象方法。
然后所有的子类去实现这个方法,不再需要用 switch 去判断,子类直接返回一个实例化的对象即可。