java-具有许多参数的构造函数
作者:互联网
我有一堂课(有50个字段).对于每个用户所需的程序,我只使用其中的几个.有没有办法使构造函数通用但又特定于部署?
例如
public class Employee{
private String id = "default";
private String empcat = "default";
private String empfam = "default";
private String phychar = "default";
private String othchar = "default";
private String shoesty = "default";
private Double shoesiz = 0.0;
private String shoesty = "default";
private Double shirsiz = 0.0;
private String shirsty = "default";
.........50 other fields..
}
“用户/客户1”-只想使用鞋的程序,并通过以下方式实例化对象:
员工obemp =新员工(“ John”,11.5,Dockers); (即id,shoesiz和shoety)
用户/客户2-只想使用衬衫程序,因此可以通过以下方式实例化对象:
雇员Obemp =新雇员(“ John”,42岁,美国广播公司); (即ID,Shirsiz和Shirsty)
用户/客户3-仅希望使用该程序供家庭使用,因此可以通过以下方式实例化对象:
员工Obemp =新员工(“ John”,“ Smith”); (即id,empfam)
对象创建期间字段的顺序可以不同-取决于模型中的用法.
解决方法:
首先,我建议将您的主要班级分解为较小的部分,以管理通常一起使用的数据(鞋子信息,衬衣信息,家庭信息等).
其次,我建议您向客户提供builder pattern,以便他们轻松构建仅包含他们可能需要的零件的对象.这样,他们可以执行以下操作:
Employee emp = new EmployeeBuilder("John")
.withShirtInfo(shirsiz, shirsty)
.build();
标签:constructor,instantiation,java 来源: https://codeday.me/bug/20191120/2042657.html