builder 模式

简介: builder 模式

1.实例化对象赋值

(1)构造函数重载

public class MyTestBean {
    private long age;
    private String name;
    public MyTestBean() {
    }
    public MyTestBean(long age, String name) {
        this.age = age;
        this.name = name;
    }
    public MyTestBean(String name) {
        this.name = name;
    }
    public MyTestBean(long age) {
        this.age = age;
    }
}

(2)get、set方法

public class MyTestBean {
    private long age;
    private String name;
    public long getAge() {
        return age;
    }
    public void setAge(long age) {
        this.age = age;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}

2.builder 模式

public class MyTestBean {
    private final int id;
    private final String name;
    private final int type;
    private final float price;
    private MyTestBean(Builder builder) {
        this.id = builder.id;
        this.name = builder.name;
        this.type = builder.type;
        this.price = builder.price;
    }
    public static class Builder {
        private int id;
        private String name;
        private int type;
        private float price;
        public Builder id(int id) {
            this.id = id;
            return this;
        }
        public Builder name(String name) {
            this.name = name;
            return this;
        }
        public Builder type(int type) {
            this.type = type;
            return this;
        }
        public Builder price(float price) {
            this.price = price;
            return this;
        }
        public MyTestBean build() {
            return new MyTestBean(this);
        }
    }
}

调用:

MyTestBean myTestBean = new MyTestBean.Builder().id(1).name("xq").build();


相关文章
|
8月前
@Builder 注解问题之如何在使用@Builder时设置默认值
@Builder 注解问题之如何在使用@Builder时设置默认值
453 0
Builder模式介绍
Builder模式是一步一步创建一个复杂对象的创建型模式,它允许用户在不知道内部构建细节的情况下,可以更精确地控制对象的构造流程。该模式是为了将构建复杂对象的过程和它的部件解耦,使得构建过程和部件的表示隔离开来。
|
Java
Builder模式
在Java编程中,常常需要为一个Bean构建成员变量或者构建参数,常用的方法有使用构造函数、使用JavaBean的set()方法,但是这两个方案或多或少都存在一定的缺点,于是今天的主角builder模式出场了,它解决了这种典型应用场景的问题,采用简洁明了的使用方式,灵活多变的链式调用,使得多个参数的Bean的构建变得十分简洁。
142 0
|
Java 设计模式 Android开发
Java设计模式---Builder模式
之前想多写一些关于设计模式之类的东西,但是一直没写,主要是现在网上写这些的太多了,都懒的弄,反正我写这篇是写给自己做笔记的,我自己看,哼。 设计模式真的太重要了,不论是以后转学哪门语言,面向对象思想在这了,架构搭起来就会清晰些。 动手: 以前我们给model赋值的时候是这个样子的 Person person=new Person(); perso
1289 0
|
C++ Windows 程序员
将C++ Builder6 的Indy 升级到 9.0
Borland C++ 6 自带了一套非常强大的网络控件:Indy。但其版本较低,本文介绍如何将Indy控件升级到9.0版本。 本文仅适用于Win2000, WinXP及更高版本的操作系统。 (Indy现有版本10,用于支持 Delphi.Net。
1366 0
|
C++ 容器
C++ Builder 初学问与答(四)
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chinahuyong/article/details/4046144   4.
862 0
|
C++ Windows
C++ Builder 初学问与答(一)
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chinahuyong/article/details/4029069 一直以来都想写一点为BCB初学者快速入门的东西,前不久写了几篇《闲谈BCB》想把自己学习BCB中如何来解决难点的方法说给大家,没想到被骂得不成样子。
893 0