`
Franciswmf
  • 浏览: 780860 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

java设计模式-建造者模式(Builder)

 
阅读更多
引用参考
https://www.cnblogs.com/kangsir/p/6653233.html
https://www.cnblogs.com/V1haoge/p/6553374.html
https://www.cnblogs.com/liaoweipeng/p/5790603.html

/**
 *测试类
 */
public class TestCreatePattern {
	public static void main(String[] args) {
		CreatePattern obj=new CreatePattern.Builder().addId(18).addName("王小明").addHobby("踢足球").buildCreatePattern();
System.out.println("打印obj="+obj.toString());
	}
}


/**
 *普通java类
 */
public class CreatePattern {
	private Integer id;
	private String name;
	private String hobby;
	/*提供属性的get/set方法*/
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getHobby() {
		return hobby;
	}
	public void setHobby(String hobby) {
		this.hobby = hobby;
	}
	/*构建者模式:静态内部类*/
	public static class Builder{
		private CreatePattern createPattern;
		public Builder() {
			createPattern=new CreatePattern();
		}
		public Builder addId(Integer id){
			createPattern.setId(id);
			return this;
		}
		public Builder addName(String name){
			createPattern.setName(name);
			return this;
		}
		public Builder addHobby(String hobby){
			createPattern.setHobby(hobby);
			return this;
		}
		public CreatePattern buildCreatePattern(){
			return createPattern;
		}
	}

	@Override
	public String toString() {
		return JSONObject.toJSONString(this);
	}
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics