概念:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。

 

实现:

public class Purchase{
    private String shipNo;
    private String menuId;
    private String menuName;
    private Double price;

    public static class Builder {
        private String shipNo;
        private String menuId;
        private String menuName;
        private Double price = 0.0;

        public Builder(String shipNo){
            this.shipNo = shipNo;
        }

        public Builder menuId(String val){
            menuName = val;
            return this;
        }
    
        public Builder menuName(String val){
            menuName = val;
            return this;
        }

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

    private Purchase(Builder builder){
        shipNo = builder.shipNo;
        menuId = builder.menuId;
        menuName = builder.menuName;
        price = builder.price;
    }
}


调用:

public static void main(String args[]){
    Purchase p = new Builder("S0001").menuId("12").menuName("宫保鸡丁").build();
    System.out.println("p.menuName");
}

 

最后修改于 2020-03-30 21:32:30
如果觉得我的文章对你有用,请随意赞赏
扫一扫支付
上一篇