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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

简单工厂:有一个共同的接口,每个子类实现这个接口。工厂类通过一个静态方法来接收参数,根据参数来决定返回实现同一接口的不同类的实例。
//为所有产品定义一个共同的产品接口
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 SimpleFactory {
     
    public static Product factory(String productName) throws Exception{
        if(productName.equals("Washer")){
            return new Washer();
        }else if(productName.equals("Icebox")){
            return new Icebox();
        }else if(productName.equals("AirCondition")){
            return new AirCondition();
        }else{
            throw new Exception("没有该产品");
        }
    }
}

//根据不同产品生产不同实例
SimpleFactory.factory("Washer");
SimpleFactory.factory("Icebox");
SimpleFactory.factory("AirCondition");

0 个回复

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