bulider创建对象如何在判断条件之后再增加bulid值
时间: 2024-09-09 13:07:55 浏览: 10
Builder模式是一种创建型设计模式,它提供了一种创建对象的最佳方式。在Builder模式中,一个复杂对象的构建与它的表示分离,这样同样的构建过程可以创建不同的表示。在Java中,Builder模式通常通过定义一个内部的Builder类来实现,外部类持有Builder的实例,并通过链式调用来设置属性值。
当需要在某个条件判断之后再设置Builder的值时,可以在Builder类中添加相应的逻辑。以下是一个简单的例子:
```java
public class Product {
private String partA;
private String partB;
// Getter methods
public String getPartA() {
return partA;
}
public String getPartB() {
return partB;
}
}
public class Builder {
private Product product;
public Builder() {
this.product = new Product();
}
public Builder setPartA(String partA) {
product.setPartA(partA);
return this;
}
public Builder setPartB(String partB) {
product.setPartB(partB);
return this;
}
public Product build() {
if (checkSomeCondition()) {
product.setPartB("DefaultB");
}
return product;
}
private boolean checkSomeCondition() {
// 条件逻辑
return true;
}
}
public class Client {
public static void main(String[] args) {
Builder builder = new Builder();
Product product = builder.setPartA("PartAValue")
.build();
// 此时Product的partB可能还是默认值或经过条件判断后的值
}
}
```
在这个例子中,`Builder`类中有一个`checkSomeCondition()`方法,它用于判断某个条件是否成立。如果条件成立,它会在`build()`方法中为`Product`对象的`partB`属性设置默认值。这样,即使调用`setPartA`方法之后,`partB`的值也可以根据条件进行动态设置。