Builder模式

来源:互联网 发布:淘宝情趣用品 看不出来 编辑:程序博客网 时间:2024/06/06 01:41

  如果一个类的构造器或者静态工场中有多个参数,使用Builder模式。

 

public class Lunch {    private String cake;    private String milk;    private String meat;    private String drink;        public static class Builder{        private String cake;        private String milk;        private String meat;        private String drink;                public Builder(){                    }        public Builder addCake(String cake){            this.cake = cake;            return this;        }        public Builder addMilk(String milk){            this.milk = milk;            return this;        }        public Builder addMeat(String meat){            this.meat = meat;            return this;        }        public Builder addDrink(String drink){            this.drink = drink;            return this;        }        public Lunch create(){            return new Lunch(this);        }    }    private Lunch(Builder builder){        this.cake = builder.cake;        this.drink = builder.drink;        this.meat = builder.meat;        this.milk = builder.milk;    }    public String toString() {        // TODO Auto-generated method stub        return "==" + meat + "==" + cake + "==" + milk + "==" + drink;      }}

public class Test {    public static void main(String[] args) {          Lunch.Builder builder = new Lunch.Builder();          Lunch lunch = builder.addCake("cake")         .addMeat("meat")                .addDrink("drink")          .addMilk("milk")          .create();          System.out.println(lunch.toString());      }  }

0 0
原创粉丝点击