多态工厂模式概述
多态工厂模式就是在简单工厂模式的基础上进一步的演化,多态工厂模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化的好处是使得多态工厂模式可以使系统在不修改工厂角色的情况下引进新的产品。
多态工厂模式的实现
将之前简单工厂模式中的核心工厂类(HeroFactory),抽象为接口。
public interface HeroFactory {
public Hero getHero();
}
完成之后,新建射手工厂类(ShooterFactory),战士工厂类(WarriorFactory),都实现HeroFactory接口。
让工厂子类来实现创建具体的产品实例。
public class ShooterFactory implements HeroFactory {
@Override
public Hero getHero() {
return new