zoukankan      html  css  js  c++  java
  • Builder设计模式

    背景

    当一个java对象有大量的成员变量,在构造它的时候有以下几种方式

    1.构造方法传参 缺点:代码难以编写,难以阅读)

    2.使用get set方法:缺点:每个set只操作一个属性 没有相近属性进行更好的封装

    3.builder构造器

    build构造器

    builder构造器会把类的成员变量分成好几类

    比如人的姓名,年龄和id是基础信息,这三个信息可以抽象成一个构造方法

    身高和体重 抽象成一个外形的构造方法。

    代码如下

        public static class PersonBuilder {
            Person p = new Person();
            public PersonBuilder basicInfo(int id, String name, int age) {
                p.id = id;
                p.name = name;
                p.age = age;
                return this;
            }
            public PersonBuilder appearancen (double weight,double height) {
                p.weight = weight;
                p.height = height;
                return this;
            }
            public Person build() {
                return p;
            }
        }

    我们则可以使用构造器构造对象

            Person p = new Person.PersonBuilder()
                    .basicInfo(1, "zhangsan", 18)
                    .appearancen (120,170)
                    .build();

    个人观点:构造器就是对set方法的一个封装,把相近set的方法封装在一个builder方法里面

  • 相关阅读:
    P3133 [USACO16JAN]无线电联系Radio Contact
    P2196 挖地雷
    P2434 [SDOI2005]区间
    P2820 局域网
    P2904 [USACO08MAR]跨河River Crossing
    P1586 四方定理
    P2983 [USACO10FEB]购买巧克力Chocolate Buying
    P2049 魔术棋子
    kali-linux破解密码运行脚本并隐藏进程
    kali安装使用
  • 原文地址:https://www.cnblogs.com/ssskkk/p/13934768.html
Copyright © 2011-2022 走看看