zoukankan      html  css  js  c++  java
  • Design Pattern -- Builder

    public class ToBeBuilt {
        
        private final int    age;
        private final int    safeID;
        private final String name;
        private final String address;
        
        public int getAge() {
            return age;
        }
     
        public int getSafeID() {
            return safeID;
        }
     
        public String getName() {
            return name;
        }
     
        public String getAddress() {
            return address;
        }
        
        public static class Builder {
            private int    age     = 0;
            private int    safeID  = 0;
            private String name    = null;
            private String address = null;
            
            public Builder(String name) {
                this.name = name;
            }
     
            public Builder age(int val) {
                age = val;
                return this;
            }
     
            public Builder safeID(int val) {
                safeID = val;
                return this;
            }
     
            public Builder address(String val) {
                address = val;
                return this;
            }
     
            public ToBeBuilt build() { // 构建,返回一个新对象
                return new ToBeBuilt(this);
            }
        }
     
        private ToBeBuilt (Builder b) {
            age = b.age;
            safeID = b.safeID;
            name = b.name;
            address = b.address;
        }
        
        public static void main(String args[]){
            ToBeBuilt ddc = new ToBeBuilt.Builder("Ace").age(10).address("beijing").build();
            System.out.println("name=" + ddc.getName() + "age =" + ddc.getAge()+ "address" + ddc.getAddress());
        }
    }
  • 相关阅读:
    pyinstaller相关用法
    yield 与 yield from
    async /await相关知识理解
    调试程序方法pdb
    任务22-4
    任务22-2
    跳台阶
    计算三维空间某点距离原点的欧式距离
    质数判断
    罗马数字转换
  • 原文地址:https://www.cnblogs.com/chaseblack/p/4725708.html
Copyright © 2011-2022 走看看