尝试在其中有一个类Contract扩展抽象类服务输入的情况下实现Builder模式
我已经创建了以下添加的Contract Builder,但没有获得如何访问ServiceInput的userInfo的信息。
*无法修改ServiceInput类,因为它来自其他模块。
public class Contract extends ServiceInput{
String name;
..
}
public abstract class ServiceInput{
private UserInfo userInfo;
//getter
//setter
..
}
public class ContractBuilder{
String name;
public ContractBuilderwith(
Consumer<ContractBuilder> builderFunction) {
builderFunction.accept(this);
return this;
}
public Contract createContract() {
return new Contract(name);
}
}
答案 0 :(得分:0)
如@Mauric所建议,能够使用ServiceInput中的方法解决此问题。 在Contract类的构造函数中,我调用了ServiceInput方法来设置userInfo,如下所示:
super.setUserInfo(userInfo);