简单工厂模式,所有的汽车只有一个工厂,而工厂模式,则是不同品牌的汽车有自己相对应的工厂,进行代码分流。但在实际应用中,简单工厂模式运用也非常之多。
一、新建汽车抽象类
public abstract class Car {
private String color;
/**
* 汽车启动的方法
*/
void run(){
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
}
二、新建宝马汽车类和奔驰汽车类,继承Car
public class Benz extends Car {
@Override
void run() {
System.out.println(this.getColor() +"的奔驰在奔跑");
}
}
public class BWM extends Car{
@Override
public void run() {
System.out.println(this.getColor() + "的宝马在奔跑");
}
}
三、新建汽车工厂接口
public interface CarFactory {
/**
* 汽车工厂接口
* @return
*/
Car createCar();
}
四、宝马汽车工厂类和奔驰汽车工厂类,需要用到工厂时,不同牌子的汽车都能找到自己的工厂了
public class BWMFactory implements CarFactory {
@Override
public Car createCar() {
Car bwm = new BWM();
return bwm;
}
}
public class BenzFactory implements CarFactory {
@Override
public Car createCar() {
Car benz = new Benz();
// 中间可能有两百行代码
return benz;
}
}
五、测试类
public class Client {
public static void main(String[] args) {
CarFactory carFactory = new BenzFactory();
Car car = carFactory.createCar();
car.run();
CarFactory carFactory2 = new BWMFactory();
Car car2 = carFactory2.createCar();
car2.run();
}
}
六、运行结果

536

被折叠的 条评论
为什么被折叠?



