以下是一个使用 Java 实现的建造者模式来模拟电脑组装工厂的示例代码: ```java // 产品类:电脑 class Computer { private String cpu; private String motherboard; private String graphicsCard; private String display; public String getCpu() { return cpu; } public void setCpu(String cpu) { this.cpu = cpu; } public String getMotherboard() { return motherboard; } public void setMotherboard(String motherboard) { this.motherboard = motherboard; } public String getGraphicsCard() { return graphicsCard; } public void setGraphicsCard(String graphicsCard) { this.graphicsCard = graphicsCard; } public String getDisplay() { return display; } public void setDisplay(String display) { this.display = display; } @Override public String toString() { return "Computer{" + "cpu='" + cpu + '\'' + ", motherboard='" + motherboard + '\'' + ", graphicsCard='" + graphicsCard + '\'' + ", display='" + display + '\'' + '}'; } } // 抽象建造者 abstract class ComputerBuilder { protected Computer computer; public Computer getComputer() { return computer; } public abstract void buildCpu(); public abstract void buildMotherboard(); public abstract void buildGraphicsCard(); public abstract void buildDisplay(); } // 具体建造者 1:笔记本电脑建造者 class LaptopBuilder extends ComputerBuilder { public LaptopBuilder() { computer = new Computer(); } @Override public void buildCpu() { computer.setCpu("Laptop CPU"); } @Override public void buildMotherboard() { computer.setMotherboard("Laptop Motherboard"); } @Override public void buildGraphicsCard() { computer.setGraphicsCard("Laptop Graphics Card"); } @Override public void buildDisplay() { computer.setDisplay("Laptop Display"); } } // 具体建造者 2:台式电脑建造者 class DesktopBuilder extends ComputerBuilder { public DesktopBuilder() { computer = new Computer(); } @Override public void buildCpu() { computer.setCpu("Desktop CPU"); } @Override public void buildMotherboard() { computer.setMotherboard("Desktop Motherboard"); } @Override public void buildGraphicsCard() { computer.setGraphicsCard("Desktop Graphics Card"); } @Override public void buildDisplay() { computer.setDisplay("Desktop Display"); } } // 指挥者 class Director { public void construct(ComputerBuilder builder) { builder.buildCpu(); builder.buildMotherboard(); builder.buildGraphicsCard(); builder.buildDisplay(); } } public class ComputerAssembly { public static void main(String[] args) { // 笔记本电脑组装 LaptopBuilder laptopBuilder = new LaptopBuilder(); Director director = new Director(); director.construct(laptopBuilder); Computer laptop = laptopBuilder.getComputer(); System.out.println("Laptop: " + laptop); // 台式电脑组装 DesktopBuilder desktopBuilder = new DesktopBuilder(); director.construct(desktopBuilder); Computer desktop = desktopBuilder.getComputer(); System.out.println("Desktop: " + desktop); } } ``` 在上述代码中,我们定义了`Computer`类表示电脑产品,`ComputerBuilder`抽象类作为建造者的抽象,`LaptopBuilder`和`DesktopBuilder`作为具体的建造者,`Director`类负责指挥建造过程。在`main`方法中分别组装了笔记本电脑和台式电脑并输出其信息。 [2024-10-31 16:21:50 | AI写代码神器 | 909点数解答]