/**抽象卡车*/
public interface Trunk {
public void run();
}
/**具体的卡车类*/
public class AodiTrunk_s implements Trunk{
@Override
public void run() {
System.out.println("奥迪卡车");
}
}
/**具体的卡车类*/
public class BmwTrunk_s implements Trunk{
@Override
public void run() {
System.out.println("宝马卡车");
}
}
/**卡车工厂类*/
public class TrunkFactory {
public static Trunk produceTrunk(String message) {
if (message.equals("宝马")) {
return new BmwTrunk_s();
} else if(message.equals("奥迪")) {
return new AodiTrunk_s();
} else{
return null;
}
}
}
/**顾客类*/
public class Customer_s {
public static void main(String[] args) {
TrunkFactory.produceTrunk("宝马").run();
}
}
从以上代码分析出客户要宝马,就调用工厂类,给一个宝马就行了
以上图就总结了简单工厂模式的优缺点