建造者模式java示例代码
时间: 2024-01-12 14:21:54 浏览: 25
以下是一个建造者模式的Java示例代码:
```java
// 产品类
class Product {
private String partA;
private String partB;
private String partC;
public void setPartA(String partA) {
this.partA = partA;
}
public void setPartB(String partB) {
this.partB = partB;
}
public void setPartC(String partC) {
this.partC = partC;
}
public void show() {
System.out("Product parts: " + partA + ", " + partB + ", " + partC);
}
}
// 抽象建造者类
abstract class Builder {
protected Product product = new Product();
public abstract void buildPartA();
public abstract void buildPartB();
public abstract void buildPartC();
public Product getResult() {
return product;
}
}
// 具体建造者类
class ConcreteBuilder extends Builder {
public void buildPartA() {
product.setPartA("PartA");
}
public void buildPartB() {
product.setPartB("PartB");
}
public void buildPartC() {
product.setPartC("PartC");
}
}
// 指挥者类
class Director {
private Builder builder;
public void setBuilder(Builder builder) {
this.builder = builder;
}
public Product construct() {
builder.buildPartA();
builder.buildPartB();
builder.buildPartC();
return builder.getResult();
}
}
// 客户端代码
public class Client {
public static void main(String[] args) {
Director director = new Director();
ConcreteBuilder builder = new ConcreteBuilder();
director.setBuilder(builder);
Product product = director.construct();
product.show();
}
}
```