简单的工厂模式
UML设计图
核心实现代码
(1)抽象产品接口(Policy )
public interface Policy {
abstract String getInsurInfo();
}
(2)具体工厂类(Factory)
public class Factory {
public static Policy getPolicyObj(String option)
{
Policy policy=null;
if(option.compareTo("驾驶员身体受伤")==0){policy=new Policy_Driver();}
else if(option.compareTo("汽车损坏")==0){policy=new Policy_Car();}
else if(option.compareTo("人员伤亡")==0){policy=new Policy_Passenger();}
else if(option.compareTo("多种事故")==0){policy=new Policy_Multi();}
return policy;
}
}
(3)具体产品类(以汽车损坏险为例)
public class Policy_Car implements Policy{
private String description="汽车损坏险";
public String getInsurInfo(){//实现接口Policy中的getInsurInfo()方法
return description;
}
}
(4)client类:
Factory pp=null;
String option="";
if(type.equals("驾驶员身体受伤")){option="驾驶员身体受伤";}
else if(type.equals("汽车损坏")){option="汽车损坏";}
else if(type.equals("人员伤亡")){option="人员伤亡";}
else if(type.equals("多种事故")){option="多种事故";}
Policy ai=Factory.getPolicyObj(option);
String str=ai.getInsurInfo();