标签:constructor instantiation 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
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。