欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Builder模式

程序员文章站 2022-06-04 17:02:07
...

BasePerson

public class BasePerson {
    private String id;
    private String name;
    private int age;
    private String address;
    private String phone;
    private int weight;
    private String school;

    @Override
    public String toString() {
        return "id:" + id + "--name:" + name + "--age:" + age + "--address:" + address + "--phone:" + phone + "--weight:" + weight + "--school:" + school;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public void setWeight(int weight) {
        this.weight = weight;
    }

    public void setSchool(String school) {
        this.school = school;
    }
}

Person

public class Person extends BasePerson{
    Person(Builder builder) {
        setAddress(builder.address);
        setAge(builder.age);
        setId(builder.id);
        setName(builder.name);
        setPhone(builder.phone);
        setWeight(builder.weight);
        setSchool(builder.school);
    }

    public static class Builder{
        private String id;
        private String name;

        private int age;
        private String address;
        private String phone;
        private int weight;
        private String school;

        public Builder() {

        }

        public Builder setId(String id) {
            this.id = id;
            return this;
        }

        public Builder setName(String name) {
            this.name = name;
            return this;
        }

        public Builder setAge(int age) {
            this.age = age;
            return this;
        }

        public Builder setAddress(String address) {
            this.address = address;
            return this;
        }

        public Builder setPhone(String phone) {
            this.phone = phone;
            return this;
        }

        public Builder setWeight(int weight) {
            this.weight = weight;
            return this;
        }

        public Builder setSchool(String school) {
            this.school = school;
            return this;
        }

        public Person build() {
            return new Person(this);
        }
    }
}


TestPerson

public class TestPerson  {
    private static final String TAG = BuilderActivity.class.getName();

    public void testBuilder(View view) {
        Person person = new Person.Builder()
                .setAge(1)
                .setId("dd")
                .setName("小明")
                .setAddress("石家庄")
                .setSchool("河北科技大学")
                .setWeight(12)
                .setPhone("121212112121")
                .build();
        Log.e(TAG, "info: " + person.toString());
    }
}


相关标签: builder