diff --git a/src/main/java/com/github/hcsp/encapsulation/UserBuilder.java b/src/main/java/com/github/hcsp/encapsulation/UserBuilder.java index e3d4a8c..c7fdbec 100644 --- a/src/main/java/com/github/hcsp/encapsulation/UserBuilder.java +++ b/src/main/java/com/github/hcsp/encapsulation/UserBuilder.java @@ -1,6 +1,39 @@ package com.github.hcsp.encapsulation; -public class UserBuilder { - // 请在这里使用builder模式建造User对象 - // 所需的接口请参阅UserBuilderTest测试类 +public final class UserBuilder { + private String firstName; + private String lastName; + private String phoneNumber; + private String address; + + private UserBuilder() { + } + + public static UserBuilder anUser() { + return new UserBuilder(); + } + + public UserBuilder withFirstName(String firstName) { + this.firstName = firstName; + return this; + } + + public UserBuilder withLastName(String lastName) { + this.lastName = lastName; + return this; + } + + public UserBuilder withPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + return this; + } + + public UserBuilder withAddress(String address) { + this.address = address; + return this; + } + + public User build() { + return new User(firstName, lastName, phoneNumber, address); + } }