以下是一个使用 Java 实现共享单车建造者模式的示例代码: ```java // 自行车产品类 class Bike { private String frameMaterial; private String seatMaterial; public String getFrameMaterial() { return frameMaterial; } public void setFrameMaterial(String frameMaterial) { this.frameMaterial = frameMaterial; } public String getSeatMaterial() { return seatMaterial; } public void setSeatMaterial(String seatMaterial) { this.seatMaterial = seatMaterial; } @Override public String toString() { return "Bike{" + "frameMaterial='" + frameMaterial + '\'' + ", seatMaterial='" + seatMaterial + '\'' + '}'; } } // 抽象建造者 abstract class Builder { protected Bike bike = new Bike(); abstract void buildFrameMaterial(); abstract void buildSeatMaterial(); Bike getBike() { return bike; } } // 摩拜单车建造者 class MobikeBuilder extends Builder { @Override void buildFrameMaterial() { bike.setFrameMaterial("铝合金"); } @Override void buildSeatMaterial() { bike.setSeatMaterial("橡胶"); } } // 哈啰单车建造者 class HellobikeBuilder extends Builder { @Override void buildFrameMaterial() { bike.setFrameMaterial("碳纤维"); } @Override void buildSeatMaterial() { bike.setSeatMaterial("真皮"); } } // 指挥者 class Director { public Bike construct(Builder builder) { builder.buildFrameMaterial(); builder.buildSeatMaterial(); return builder.getBike(); } } public class BikeBuilderPattern { public static void main(String[] args) { Director director = new Director(); Builder mobikeBuilder = new MobikeBuilder(); Bike mobike = director.construct(mobikeBuilder); System.out.println("摩拜单车:" + mobike); Builder hellobikeBuilder = new HellobikeBuilder(); Bike hellobike = director.construct(hellobikeBuilder); System.out.println("哈啰单车:" + hellobike); } } ``` 在上述代码中,我们定义了`Bike`类表示自行车产品,包含车架和车座的材质属性。`Builder`是抽象建造者,`MobikeBuilder`和`HellobikeBuilder`是具体的建造者,分别实现了车架和车座材质的设置。`Director`类作为指挥者,控制建造的流程。在`main`方法中创建指挥者对象,并通过不同的具体建造者来创建不同的共享单车。 [2024-11-08 16:14:28 | AI写代码神器 | 643点数解答]