路一步步走>> 設計模式三:Builder-建造者(生成器)
阿新 • • 發佈:2018-12-07
package com.test.DPs.ChuangJian.Builder; /** * 建立型:Builder-建造者(生成器) */ public class Builder{ static class Student{ String name = null; String sex = null; String school = null; int number = -1; int age = -1; /** * 建造者(生成器)-Builder * 用途:講一個複雜物件的構建與他的表示分離,使得同樣的構建過程可以建立不同的表示。 * * 理解 * 區分物件構建之前與之後初始化。類設計,而非客戶端。。構建之前,將物件構建過程與表示分離。 */ static class StudentBuilder{ String name = null; String sex = null; String school = null; int number = -1; int age = -1; public StudentBuilder setName(String name){ this.name = name; return this; } public StudentBuilder setSex(String sex){ this.sex = sex; return this; } public StudentBuilder setSchool(String school){ this.school = school; return this; } public StudentBuilder setNumber(int number){ this.number = number; return this; } public StudentBuilder setAge(int age){ this.age = age; return this; } public Student build(){ return new Student(this); } } public Student(StudentBuilder builder){ this.age = builder.age; this.name = builder.name; this.number = builder.number; this.school = builder.school ; this.sex = builder.sex ; } } public static void main(String[] args){ Student a = new Student.StudentBuilder().setAge(12).setName("Jack").build(); Student b = new Student.StudentBuilder().setSchool("sc").setSchool("Mian").setName("Li").build(); } }