构造者(Builder)模式
来源:互联网 发布:免费网络硬盘哪个好 编辑:程序博客网 时间:2024/06/08 19:21
1:创建一个类
public class Student { private int id; private String name; private String passwd; private String sex; private String address; public Student(int id, String name, String passwd, String sex, String address) { this.id = id; this.name = name; this.passwd = passwd; this.sex = sex; this.address = address; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; }}
这时我们需要去创建这个类时,就得
public static void main(String[] args) { Student student = new Student(1, "jacob", "123", "男", "fj");}缺点:当我们的参数很多的时候,我们去创建这个类时,需要去传参,这时就很容易出现,不知道具体传哪个参数,这类问题
2:构造者模式
public class Student { public int id; public String name; public String passwd; public String sex; public String address; //私有化 private Student(){} //私有化 private Student(Student targer) { this.id = targer.id; this.name = targer.name; this.passwd = targer.passwd; this.sex = targer.sex; this.address = targer.address; } public static class Builder{ private Student targer; public Builder() { targer = new Student(); } public Builder setId(int id){ targer.id = id; return this; } public Builder setName(String name){ targer.name = name; return this; } public Builder setPasswd(String passwd){ targer.passwd = passwd; return this; } public Builder setSex(String sex){ targer.sex = sex; return this; } public Builder setAddress(String address){ targer.address = address; return this; } public Student build(){ return new Student(targer); } } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; }}当我们去创建这个类时就变成:
这样我们在创建这个类的时候,就可以清晰的看到我们具体传的是哪一些参数,但是缺点也很明显,比较的冗长public static void main(String[] args) { Student build = new Builder() .setId(1) .setName("jacob") .setPasswd("123") .setSex("男") .setAddress("fj") .build();}
阅读全文
0 0
- 构造者(Builder)模式
- 构造者模式(Builder)
- Builder构造者设计模式
- 构造模式(Builder Pattern)
- Java设计模式——构造者模式(Builder)
- Java构造之builder模式
- 设计模式-builder(构造器模式)
- 设计模式-builder(构造器模式)
- 模板模式 和 策略模式的区别, builder pattern构造者模式,BeanDefinitionBuilder
- 设计模式学习---Builder(构造器)
- java设计模式---builder---构造器
- Builder构造器模式示例学习
- 设计模式之构造器Builder
- 多参构造器与Builder模式
- AndroidStudioTip--用Builder模式替代构造方法
- Builder模式处理多个构造器
- 使用 Builder 模式构造 JavaBean 的好处
- 使用 Builder 模式构造 JavaBean 的好处
- AIC准则
- 字符个数统计
- 员工管理系统
- composer 錯誤Call to undefined method Composer\Package\RootPackage::getConfig
- CentOS7安装wps
- 构造者(Builder)模式
- vim 命令
- <16>——3Sum Closest
- 一些链接
- JPA之日期和枚举的JPA映射
- [1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
- matplotlib横轴密度修改
- 【02】Bootstrap — 布局容器
- automake