简单工厂模式是类的创建模式,又叫做静态工厂方法模式(Static Factory Method)。
简单工厂模式是由一个工厂对象来决定创建出哪一种产品类的对象。
简单工厂模式就是由一个工厂类根据传入的参数决定创建出哪一种产品类的对象。
/*******************************************/
package 工厂.简单工厂模式;
public interface 汽车 {
public void 开车();
public void 停车();
public void 年检();
public void 鸣笛();
//...等等
}
/*******************************************/
package 工厂.简单工厂模式;
public class 宝马汽车 implements 汽车 {
public static final String ;
public static final String BRAND = "宝马汽车";
public void 开车() {
System.out.println(BRAND+".开车");
}
public void 停车() {
System.out.println(BRAND+".停车");
}
public void 年检() {
System.out.println(BRAND+".年检");
}
public void 鸣笛() {
System.out.println(BRAND+".鸣笛");
}
}
/*******************************************/
package 工厂.简单工厂模式;
public class 奔驰汽车 implements 汽车 {
public static final String ;
public static final String BRAND = "奔驰汽车";
public void 开车() {
System.out.println(BRAND+".开车");
}
public void 停车() {
System.out.println(BRAND+".停车");
}
public void 年检() {
System.out.println(BRAND+".年检");
}
public void 鸣笛() {
System.out.println(BRAND+".鸣笛");
}
}
/*******************************************/
package 工厂.简单工厂模式;
public class 汽车销售工厂 {
public static 汽车 试车(String ID) throws Exception {
if (ID.equals(宝马汽车.ID)) {
return new 宝马汽车();
} else if (ID.equals(奔驰汽车.ID)) {
return new 奔驰汽车();
}
throw new Exception("没有这个品牌的汽车!");
}
}
/*******************************************/
package 工厂.简单工厂模式;
public class 消费者 {
public void 试试汽车(String ID) {
try {
汽车 car = 汽车销售工厂.试车(ID);
car.开车();
car.停车();
car.鸣笛();
} catch (Exception e) {
System.out.println("连宝马都没有,换个销售公司!");
e.printStackTrace();
}
}
public static void main(String args[]) {
消费者 王二 = new 消费者();
王二.试试汽车(宝马汽车.ID);
王二.试试汽车(奔驰汽车.ID);
}
}
</script>