Builder Pattern
建造者模式目的:为了分离对象的属性与创建过程
//
public class A{
private String screen;
public A(ABuilder aBuilder){
if("iphone".equals(aBuilder.getName())){
this.screen="6.1";
}else if("iphone se".equals(aBuilder.getName())){
this.screen="4.7";}
}}
public class ABuilder{
private String name;
public A build(){
return new A(this);}
//注意这里的set方法需要返回Builder对象!!!
public ABuilder setName(String name){
this.name=name;
return this;}
public String getName(){return this.name;}
}
使用:可以看出这种写法相比于重写多个构造器更加灵活,根据所加不同的参数构建不同的A对象
A a=new ABuilder().setName("iphone").build();
A a2=new ABuilder().setName("iphone se").build();
浙公网安备 33010602011771号