java 建造者模式 示例
时间: 2023-09-02 11:07:19 浏览: 112
建造者模式(Builder Pattern)是一种创建型设计模式,它可以让你创建复杂对象的过程更加简单和灵活。在 Java 中,建造者模式通常通过类似于以下示例的链式调用来实现:
```java
public class Person {
private String name;
private int age;
private String address;
private String phone;
public Person(PersonBuilder builder) {
this.name = builder.name;
this.age = builder.age;
this.address = builder.address;
this.phone = builder.phone;
}
public static class PersonBuilder {
private String name;
private int age;
private String address;
private String phone;
public PersonBuilder(String name) {
this.name = name;
}
public PersonBuilder age(int age) {
this.age = age;
return this;
}
public PersonBuilder address(String address) {
this.address = address;
return this;
}
public PersonBuilder phone(String phone) {
this.phone = phone;
return this;
}
public Person build() {
return new Person(this);
}
}
}
```
在这个示例中,我们创建了一个 `Person` 类,它有四个属性:`name`、`age`、`address` 和 `phone`。我们使用内部静态类 `PersonBuilder` 来构建 `Person` 对象。`PersonBuilder` 类中定义了四个方法,即 `age()`、`address()`、`phone()` 和 `build()`。`age()`、`address()` 和 `phone()` 方法都返回 `PersonBuilder` 对象,以便进行链式调用。
最后,我们可以通过以下方式使用建造者模式来构建 `Person` 对象:
```java
Person person = new Person.PersonBuilder("Tom")
.age(25)
.address("123 Main St.")
.phone("555-1234")
.build();
```
这个示例中,我们首先调用了 `PersonBuilder` 的构造函数,并传入了 `name` 属性的值。然后,我们可以通过链式调用来设置其他属性的值,并最终调用 `build()` 方法来构建 `Person` 对象。
使用建造者模式的好处是,它可以帮助我们简化复杂对象的构建过程,并且可以使代码更加易于阅读和维护。
阅读全文