java - 类扩展抽象类时如何实现构建器模式
问题描述
尝试实现构建器模式,其中我有一个扩展抽象类服务输入的类契约
我已经创建了如下添加的合同生成器,但没有了解如何访问 ServiceInput 的用户信息。
*不能修改 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);
}
}
解决方案
正如@Mauric 所建议的,能够使用ServiceInput 中的方法解决问题。在 Contract 类构造函数中,我调用了 ServiceInput 方法来设置 userInfo,如下所示:
super.setUserInfo(userInfo);
推荐阅读
- xamarin.forms - Xamarin 表单和 IEventAggregator
- postgresql - Elixir Postgres 视图在测试时返回空数据集
- python - convLSTM 中用于视频分类的通道数
- html - 如何让不同的 React 组件显示“内联”?
- kotlin - 在地图上迭代时移除
- xamarin - 自定义 CollectionView,如何在 ScrollingEnded 上获取当前项目
- r - 散点图中 R 编程中的字体类型更改
- mysql - str_to_date 更改年份数据 MySQL
- bash - 如何使用 sed 用反引号替换字符串
- python - 如何通过 pandas groupby 绘制条形图,然后循环获取所有唯一值