酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

1、建造者模式实现创建共享单车。 生产自行车是一个复杂的过程,它包含了车架,车座等组件的生产。而车架又有碳纤维,铝合金等材质的,车座有橡胶,真皮等材质。对于自行车的生产就可以使用建造者模式。 这里bike是产品,包含车架,车座等组件;builder是抽象建造者,mobikebuilder和hellobuilder是具体的建造者;director是指挥者。还有测试类

好的,下面是一个使用建造者模式实现创建共享单车的示例代码。这个例子中,我们将创建一个自行车产品(`Bike`),包含车架(`Frame`)和车座(`Seat`)。我们将定义一个抽象建造者(`Builder`),以及两个具体的建造者(`MobikeBuilder` 和 `HelloBuilder`)。我们还需要一个指挥者(`Director`)来控制建造过程,并在测试类中进行验证。 产品类:Bike ```java public class Bike { private String frame; private String seat; public void setFrame(String frame) { this.frame = frame; } public void setSeat(String seat) { this.seat = seat; } @Override public String toString() { return "Bike{frame='" + frame + "', seat='" + seat + "'}"; } } ``` 抽象建造者:Builder ```java public abstract class Builder { protected Bike bike; public Builder() { this.bike = new Bike(); } public abstract void buildFrame(); public abstract void buildSeat(); public Bike getBike() { return bike; } } ``` 具体建造者:MobikeBuilder ```java public class MobikeBuilder extends Builder { @Override public void buildFrame() { bike.setFrame("碳纤维"); } @Override public void buildSeat() { bike.setSeat("橡胶"); } } ``` 具体建造者:HelloBuilder ```java public class HelloBuilder extends Builder { @Override public void buildFrame() { bike.setFrame("铝合金"); } @Override public void buildSeat() { bike.setSeat("真皮"); } } ``` 指挥者:Director ```java public class Director { private Builder builder; public Director(Builder builder) { this.builder = builder; } public void construct() { builder.buildFrame(); builder.buildSeat(); } } ``` 测试类 ```java public class Test { public static void main(String[] args) { // 创建 MobikeBuilder 实例 Builder mobikeBuilder = new MobikeBuilder(); Director director = new Director(mobikeBuilder); director.construct(); Bike mobike = mobikeBuilder.getBike(); System.out.println("Mobike: " + mobike); // 创建 HelloBuilder 实例 Builder helloBuilder = new HelloBuilder(); director = new Director(helloBuilder); director.construct(); Bike helloBike = helloBuilder.getBike(); System.out.println("HelloBike: " + helloBike); } } ``` 运行结果 ``` Mobike: Bike{frame='碳纤维', seat='橡胶'} HelloBike: Bike{frame='铝合金', seat='真皮'} ``` 在这个示例中,我们通过建造者模式将复杂的自行车构建过程分解成多个步骤,并且可以通过不同的具体建造者来创建不同配置的自行车。指挥者类负责调用这些步骤,确保构建过程的一致性。 [2024-11-08 16:15:47 | AI写代码神器 | 676点数解答]

相关提问