用Java写一个简单的建造者例子
时间: 2023-10-06 16:12:25 浏览: 99
建造者(Builder)模式是一种创建型设计模式,它允许你创建复杂对象,而无需直接实例化它们的内部部件。以下是一个简单的建造者模式的示例代码:
```
public class Pizza {
private String crust;
private String sauce;
private String topping;
public static class Builder {
private String crust;
private String sauce;
private String topping;
public Builder() {
}
public Builder crust(String crust) {
this.crust = crust;
return this;
}
public Builder sauce(String sauce) {
this.sauce = sauce;
return this;
}
public Builder topping(String topping) {
this.topping = topping;
return this;
}
public Pizza build() {
return new Pizza(this);
}
}
private Pizza(Builder builder) {
this.crust = builder.crust;
this.sauce = builder.sauce;
this.topping = builder.topping;
}
public String getCrust() {
return crust;
}
public String getSauce() {
return sauce;
}
public String getTopping() {
return topping;
}
public static void main(String[] args) {
Pizza pizza = new Pizza.Builder()
.crust("thin")
.sauce("tomato")
.topping("cheese")
.build();
System.out.println("Crust: " + pizza.getCrust());
System.out.println("Sauce: " + pizza.getSauce());
System.out.println("Topping: " + pizza.getTopping());
}
}
```
在这个示例代码中,我们定义了一个 `Pizza` 类,它包括了披萨的外壳、酱料和配料等属性。我们使用建造者模式来创建 `Pizza` 对象,它包括一个静态内部类 `Builder` 和一个私有的构造函数。`Builder` 类中包含了 `Pizza` 类中的属性,以及一个 `build` 方法,用来返回一个 `Pizza` 对象。在 `Pizza` 类的构造函数中,我们将 `Builder` 中的属性赋值给 `Pizza` 中的属性。我们还通过一个 `main` 方法来演示如何使用建造者模式创建 `Pizza` 对象。
通过这个示例代码,你可以在你的 Java 项目中使用建造者模式来创建复杂的对象,而无需直接实例化它们的内部部件。
阅读全文