简单工厂设计模式就是把复杂的代码简单化,对工厂模式内的内容进行复用。
一、首先新建汽车抽象类,里面有汽车的颜色和运行方法
public abstract class Car {
private String color;
/**
* 汽车启动的方法
*/
void run(){
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
}
二、新建宝马和奔驰两个类,实现run()方法
public class BWM extends Car{
@Override
public void run() {
System.out.println(this.getColor() + "的宝马在奔跑");
}
}
public class Benz extends Car {
@Override
void run() {
System.out.println(this.getColor() +"的奔驰在奔跑");
}
}
三、新建汽车工厂类,对要设置的内容进行定义,也就是我们要复用的内容
public class CarFactory {
public Car createCar(String type,String color){
// 如果将来传进来的是宝马,我就创建一个宝马
if("BWM".equals(type)){
Car car = new BWM();
car.setColor(color);
return car;
}else if("Benz".equals(type)){
Car car = new Benz();
car.setColor(color);
return car;
}
return null;
}
}
四、测试类
public class Client {
// 可能有20个成员变量,需要一个一个成员变量去new
public static void main(String[] args) {
CarFactory carFactory = new CarFactory();
Car car = carFactory.createCar("BWM","red");
Car car2 = carFactory.createCar("Benz","green");
car.run();
car2.run();
}
}
五、运行结果