用建造者模式设计Java代码
时间: 2023-07-16 08:17:22 浏览: 125
建造者模式是一种创建型设计模式,它可以将对象的构建过程与其表示分离开来,从而使同样的构建过程可以创建不同的表示。在Java中,可以使用以下方式实现建造者模式:
首先,定义一个需要构建的对象类,例如:
```
public class Person {
private String name;
private int age;
private String address;
private String phoneNumber;
// 构造函数私有化,只能通过Builder类来创建对象
private Person(Builder builder) {
this.name = builder.name;
this.age = builder.age;
this.address = builder.address;
this.phoneNumber = builder.phoneNumber;
}
// 公有的静态内部类Builder用于构建Person对象
public static class Builder {
private String name;
private int age;
private String address;
private String phoneNumber;
public Builder(String name) {
this.name = name;
}
public Builder age(int age) {
this.age = age;
return this;
}
public Builder address(String address) {
this.address = address;
return this;
}
public Builder phoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
return this;
}
// 构建Person对象
public Person build() {
return new Person(this);
}
}
}
```
上述代码中,我们定义了一个需要构建的Person类。构造函数被私有化,只能通过Builder类来创建对象。Builder类是公有的静态内部类,它包含了需要设置的属性。在Builder类中,我们定义了一些方法用于设置属性,并返回Builder对象本身。最后,我们定义了一个build()方法,用于构建Person对象,并返回。
使用建造者模式创建Person对象的示例代码:
```
Person person = new Person.Builder("张三")
.age(18)
.address("北京市朝阳区")
.phoneNumber("13888888888")
.build();
```
上述代码中,我们首先通过Builder类的构造函数传入需要设置的属性值,然后使用链式调用方式设置属性,并通过build()方法构建Person对象。使用建造者模式可以使代码更加清晰和易于维护,尤其是在需要构建多个属性不同的对象时,建造者模式可以大大简化代码。
阅读全文