写一个Java建造者模式的例子
时间: 2024-03-18 10:40:52 浏览: 119
好的,下面是一个简单的 Java 建造者模式的例子:
我们假设我们需要创建一个电脑类,这个电脑类包括 CPU、内存、硬盘等部件,而且每个部件都有不同的型号、尺寸等属性。我们可以使用建造者模式来创建这个电脑类。
首先,我们定义一个电脑类 Computer,包括 CPU、内存、硬盘等属性:
```java
public class Computer {
private String cpu;
private String memory;
private String hardDisk;
public void setCpu(String cpu) {
this.cpu = cpu;
}
public void setMemory(String memory) {
this.memory = memory;
}
public void setHardDisk(String hardDisk) {
this.hardDisk = hardDisk;
}
@Override
public String toString() {
return "Computer{" +
"cpu='" + cpu + '\'' +
", memory='" + memory + '\'' +
", hardDisk='" + hardDisk + '\'' +
'}';
}
}
```
然后,我们定义一个建造者类 ComputerBuilder,用来创建电脑对象,并设置它的属性:
```java
public class ComputerBuilder {
private Computer computer = new Computer();
public ComputerBuilder setCpu(String cpu) {
computer.setCpu(cpu);
return this;
}
public ComputerBuilder setMemory(String memory) {
computer.setMemory(memory);
return this;
}
public ComputerBuilder setHardDisk(String hardDisk) {
computer.setHardDisk(hardDisk);
return this;
}
public Computer build() {
return computer;
}
}
```
最后,我们可以使用建造者模式来创建电脑对象:
```java
public class Main {
public static void main(String[] args) {
Computer computer = new ComputerBuilder()
.setCpu("i7-8700K")
.setMemory("32GB DDR4")
.setHardDisk("1TB SSD")
.build();
System.out.println(computer);
}
}
```
输出结果为:
```
Computer{cpu='i7-8700K', memory='32GB DDR4', hardDisk='1TB SSD'}
```
可以看到,使用建造者模式创建对象非常方便,可以链式调用设置属性,并且可以保证对象的属性都被设置完整。
阅读全文