Builder模式
来源:互联网 发布:淘宝情趣用品 看不出来 编辑:程序博客网 时间:2024/06/06 01:41
如果一个类的构造器或者静态工场中有多个参数,使用Builder模式。
public class Lunch { private String cake; private String milk; private String meat; private String drink; public static class Builder{ private String cake; private String milk; private String meat; private String drink; public Builder(){ } public Builder addCake(String cake){ this.cake = cake; return this; } public Builder addMilk(String milk){ this.milk = milk; return this; } public Builder addMeat(String meat){ this.meat = meat; return this; } public Builder addDrink(String drink){ this.drink = drink; return this; } public Lunch create(){ return new Lunch(this); } } private Lunch(Builder builder){ this.cake = builder.cake; this.drink = builder.drink; this.meat = builder.meat; this.milk = builder.milk; } public String toString() { // TODO Auto-generated method stub return "==" + meat + "==" + cake + "==" + milk + "==" + drink; }}
public class Test { public static void main(String[] args) { Lunch.Builder builder = new Lunch.Builder(); Lunch lunch = builder.addCake("cake") .addMeat("meat") .addDrink("drink") .addMilk("milk") .create(); System.out.println(lunch.toString()); } }
0 0
- builder 模式
- Builder模式
- Builder 模式
- Builder模式
- builder模式
- builder模式
- Builder模式
- builder模式
- Builder模式
- Builder 模式
- Builder 模式
- Builder模式
- Builder模式
- builder模式
- builder模式
- builder模式
- Builder模式
- Builder模式
- Capturing 'request' strongly in this block is likely to lead to a retain cycle
- 关于ListView顶部和底部滚(拖)动出现阴影解决方案
- Cocos2d-x函数----addChild()
- win8下面安装openni1.5.4驱动
- VS 2005 无法向会话状态服务器发出会话状态请求。
- Builder模式
- Layout Inflation不能这么用
- Sql Server 循环插入数据
- Alex 的 Hadoop 菜鸟教程: 第3课 Hadoop 安装教程 - 非HA方式 (一台服务器)
- [LeetCode]Merge Two Sorted Lists
- FBKVOController的使用
- WPF:如何在工作线程中更新窗体的UI元素(Dispatcher机制)
- linux下运行Mplayer图形窗口不显示及没反应的解决方法
- Java单例模式的几种写法详解