建造者模式时一个对象的一系列属性进行链式赋值让调用者能够更加舒适,在平常开发中也可以自己封装一个建造者模式的类,下面是我写的一个简单的封装:
public class PersonBuild {
/**
* 创建静态属性并且初始化
*/
private String name;// 必选
private String gender;// 必选
private int age;//可选
private String phone;//可选
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
private PersonBuild(Build build) {
this.name = build.name;
this.gender = build.gender;
this.age = build.age;
this.phone = build.phone;
}
public String toString() {
return "PersonBuild [name=" + name + ", gender=" + gender + ", age="
+ age + ", phone=" + phone + "]";
}
/**
* 内部构建类
*
* @author luweicheng
*
*/
public static class Build {
private String name;
private String gender;
private int age;
private String phone;
/**
* 唯一构造器
* @param name
* @param gender
*/
public Build (String name,String gender) {
this.name = name;
this.gender =gender;
}
public Build age(int gender) {
this.age = age;
return this;
}
public Build phone(String phone) {
this.phone = phone;
return this;
}
public PersonBuild build() {
return new PersonBuild(this);
}
}
}
测试结果: