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();

posted @ 2023-02-27 16:03  平凡的人生不平凡的梦  阅读(3)  评论(0)    收藏  举报