Builder模式
来源:互联网 发布:淘宝怎么打新品标 编辑:程序博客网 时间:2024/04/30 04:24
Builder模式其中的一个作用是在创建类的构造器的时候,把可选的和必须的参数分离。下面是一个例子:
class NutritionFacts { private final int servingSize; private final int servings; private final int calories; private final int fat; private final int sodium; private final int carbohydrate; public static class Builder { //对象的必选参数 private final int servingSize; private final int servings; //对象的可选参数的缺省值初始化 private int calories = 0; private int fat = 0; private int carbohydrate = 0; private int sodium = 0; //只用少数的必选参数作为构造器的函数参数 public Builder(int servingSize,int servings) { this.servingSize = servingSize; this.servings = servings; } public Builder calories(int val) { calories = val; return this; } public Builder fat(int val) { fat = val; return this; } public Builder carbohydrate(int val) { carbohydrate = val; return this; } public Builder sodium(int val) { sodium = val; return this; } public NutritionFacts build() { return new NutritionFacts(this); } } private NutritionFacts(Builder builder) { servingSize = builder.servingSize; servings = builder.servings; calories = builder.calories; fat = builder.fat; sodium = builder.sodium; carbohydrate = builder.carbohydrate; }
public static void main(String[] args) { NutritionFacts cocaCola = new NutritionFacts.Builder(240, 8).calories(100) .sodium(35).carbohydrate(27).build(); NutritionFacts cc = new NutritionFacts.Builder(30, 34).build(); }
<span style="white-space:pre"></span>}
0 0
- builder 模式
- Builder模式
- Builder 模式
- Builder模式
- builder模式
- builder模式
- Builder模式
- builder模式
- Builder模式
- Builder 模式
- Builder 模式
- Builder模式
- Builder模式
- builder模式
- builder模式
- builder模式
- Builder模式
- Builder模式
- Git常用命令总结
- 用YourUninstaller将JDK卸载干净
- 清除eclipse中Launch configuration
- pthread_create会导致内存泄露
- 身体无奈的选择
- Builder模式
- Cocos2d-x源码阅读1 UI树1(第一次系统而有成效的阅读源码的感悟)
- sqlsever
- JAVA中对一维数组排序的方法(在快速排序上进行的优化)
- Android输出Log的包装
- [leetcode][arrat]Search Insert Position
- poj 2785 双向搜索+哈希
- 向Android系统中添加模块及产品流程
- Android学习:Eclipse、SDK开发环境配置记录