简单工厂:有一个共同的接口,每个子类实现这个接口。工厂类通过一个静态方法来接收参数,根据参数来决定返回实现同一接口的不同类的实例。
//为所有产品定义一个共同的产品接口
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"); |
|