A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

工厂方法: 在简单工厂的基础上重构,将工厂类定义为接口,再定义一个所有实例的父接口,所有实例类实现该接口。为每一个实例类创建一个具体的实例类工厂。
//将工厂类定义为接口
public interface Factory{
  public Product create();
}
//定义一个产品接口
public interface Product{}
//实现了产品接口的产品类
public class Washer implements Product{
   public Washer(){
       System.out.println("洗衣机被制造了");
   }
}
public class Icebox implements Product{
   public Icebox(){
       System.out.println("冰箱被制造了");
   }
}
public class AirCondition implements Product{
   public Icebox(){
       System.out.println("空调被制造了");
   }
}
//工厂方法的核心部分,也就是具体创建产品对象的具体工厂类
//创建洗衣机的工厂
public class CreateWasher implements Factory{
    public Product create(){
          return new Washer();
    }
}

//创建冰箱的工厂
public class CreateIcebox implements Factory{
    public Product create(){
          return new Icebox();
    }
}

//创建空调的工厂
public class CreateAirCondition implements Factory{
    public Product create(){
          return new AirCondition();
    }
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马