失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 建造者模式实现汽车组装工厂功能(Java代码实例)

建造者模式实现汽车组装工厂功能(Java代码实例)

时间:2023-08-05 22:10:07

相关推荐

建造者模式实现汽车组装工厂功能(Java代码实例)

应用背景

实现汽车组装工厂功能:汽车组装工厂可以根据汽车的发动机、车轮、底盘、车座数、汽车的排量等指标为用户组装汽车,用建造者模式解决这个问题。

代码

Car类

package MakeCar;public class Car {private String Engine;private String Wheel;private String Base;private String Seats;private String Displacement;public String getDisplacement() {return Displacement;}public void setDisplacement(String displacement) {Displacement = displacement;}public String getSeats() {return Seats;}public void setSeats(String seats) {Seats = seats;}public String getBase() {return Base;}public void setBase(String base) {Base = base;}public String getWheel() {return Wheel;}public void setWheel(String wheel) {Wheel = wheel;}public String getEngine() {return Engine;}public void setEngine(String engine) {Engine = engine;}public String toString() {return "发动机:"+Engine+"\n轮胎:"+Wheel+"\n底盘:"+Base+"\n车座数:"+Seats+"\n汽车排量:"+Displacement;}}

CarBuilder类

package MakeCar;public abstract class CarBuilder {Car car=new Car();public abstract void buildEngine();public abstract void buildWheel();public abstract void buildBase();public abstract void buildSeats();public abstract void buildDisplacement();public Car getCar() {return car;}}

PlanA类

package MakeCar;public class PlanA extends CarBuilder{@Overridepublic void buildEngine() {// TODO Auto-generated method stubgetCar().setEngine("宝马A型号发动机");}@Overridepublic void buildWheel() {// TODO Auto-generated method stubgetCar().setWheel("米其林A型号");}@Overridepublic void buildBase() {// TODO Auto-generated method stubgetCar().setBase("东风A型号");}@Overridepublic void buildSeats() {// TODO Auto-generated method stubgetCar().setSeats("4");}@Overridepublic void buildDisplacement() {// TODO Auto-generated method stubgetCar().setDisplacement("大众A型号");}}

PlanB类

package MakeCar;public class PlanB extends CarBuilder{@Overridepublic void buildEngine() {// TODO Auto-generated method stubgetCar().setEngine("大众B型号发动机");}@Overridepublic void buildWheel() {// TODO Auto-generated method stubgetCar().setWheel("米其林B型号");}@Overridepublic void buildBase() {// TODO Auto-generated method stubgetCar().setBase("东风B型号");}@Overridepublic void buildSeats() {// TODO Auto-generated method stubgetCar().setSeats("12");}@Overridepublic void buildDisplacement() {// TODO Auto-generated method stubgetCar().setDisplacement("大众B型号");}}

Planer类

package MakeCar;public class Planer {CarBuilder carbuilder;public Planer(CarBuilder carbuilder) {this.carbuilder=carbuilder;}public Car constract(){carbuilder.buildBase();carbuilder.buildEngine();carbuilder.buildWheel();carbuilder.buildDisplacement();carbuilder.buildSeats();return carbuilder.getCar();}}

Test类

package MakeCar;public class Test {public static void main(String[] args) {PlanA a=new PlanA();Planer planerA=new Planer(a);Car car=planerA.constract();System.out.println("汽车组装方案A:");System.out.println(car.toString());PlanB b=new PlanB();Planer planerB=new Planer(b);car=planerB.constract();System.out.println("汽车组装方案B:");System.out.print(car.toString());}}

运行结果

如果觉得《建造者模式实现汽车组装工厂功能(Java代码实例)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。