Builder模式
来源:互联网 发布:营销网络是什么 编辑:程序博客网 时间:2024/05/31 19:25
Builder模式就是不直接生成想要的对象,而是让客户端利用所有必要的参数调用构造器,得到一个builder对象。然后再builder对象上调用类似setter的方法,来设置每个相关的可选参数。
最后,客户端调用无参数的build方法来生成不可变的对象。(此篇文章为自己总结,如有错误欢迎纠正,谢谢。)
例子:
package com.cn.test;public class A {private int a;private int b; private String c;private String d;public static class Builder {private int a ;private int b;private String c;private String d; public Builder(int a,int b){} this.a = a; this.b = b; } public Builder setC(String c) { this.c = c; return this; } public Builder setD(String d) { this.d = d; return this; } public A build() { return new A(this);//很关键 只有调用this的构造函数才能赋值 }}public A() { } private A(Builder builder) { a = builder.a; b = builder.b; c = builder.c; d = builder.d; }}
调用:
A a = new A.Builder(1, 2).setC(“c”).setD(“d”).build();
0 0
- builder 模式
- Builder模式
- Builder 模式
- Builder模式
- builder模式
- builder模式
- Builder模式
- builder模式
- Builder模式
- Builder 模式
- Builder 模式
- Builder模式
- Builder模式
- builder模式
- builder模式
- builder模式
- Builder模式
- Builder模式
- Java中This ,Static,对象,对象的引用 等关键字的理解
- 列出一个目录中的所有文件
- Java 并发编程:volatile的使用及其原理
- 麦克风阵列原理
- windows7 x86_64系统安装xampp后apache无法启动,报Error: Apache shutdown unexpectedlyThis may be due to a blocked
- Builder模式
- 格式化IO
- 一起talk C栗子吧(第一百七十八回:C语言实例--字符和字符串输出函数一)
- Android之在ubuntu上常用的am、pm命令的总结
- URAL 1970 皇后像廣場
- Android Activity生命周期(Android艺术开发探索读书笔记)
- 学车囧途--记录
- 暑假集训第1天链表-数据结构上机测试2-1:单链表操作A
- QT实现类似QQ的截图功能