java 建造者模式示例
时间: 2023-09-02 20:05:51 浏览: 63
Java中的建造者模式是一种创建型设计模式,它允许您创建不同配置的对象,同时避免了构造函数参数列表的复杂性。
以下是一个简单的Java建造者模式示例:
首先,我们将定义一个Product类,这将是我们想要构建的对象。
```java
public 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 String getPartA() {
return partA;
}
public String getPartB() {
return partB;
}
public String getPartC() {
return partC;
}
}
```
接下来,我们将定义一个抽象Builder类,其中包含构建Product对象所需的所有方法。
```java
public 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;
}
}
```
然后,我们将创建一个具体的Builder类来实现Builder抽象类中定义的所有方法。
```java
public class ConcreteBuilder extends Builder {
@Override
public void buildPartA() {
product.setPartA("PartA");
}
@Override
public void buildPartB() {
product.setPartB("PartB");
}
@Override
public void buildPartC() {
product.setPartC("PartC");
}
}
```
最后,我们将创建一个Director类,它将使用Builder类来构建Product对象。
```java
public class Director {
private Builder builder;
public Director(Builder builder) {
this.builder = builder;
}
public void construct() {
builder.buildPartA();
builder.buildPartB();
builder.buildPartC();
}
public Product getProduct() {
return builder.getResult();
}
}
```
现在,我们可以在主程序中使用这些类来构建Product对象。
```java
public class Main {
public static void main(String[] args) {
Builder builder = new ConcreteBuilder();
Director director = new Director(builder);
director.construct();
Product product = director.getProduct();
System.out.println(product.getPartA());
System.out.println(product.getPartB());
System.out.println(product.getPartC());
}
}
```
输出结果应该是:
```
PartA
PartB
PartC
```
这就是一个简单的Java建造者模式示例。
阅读全文