【发布时间】:2010-10-24 06:12:39
【问题描述】:
以下是两种方法:
- 具有所有类属性的构造函数
优点:我必须输入准确数量的参数类型,所以如果我出错,编译器会警告我(顺便说一句,有没有办法防止错误地切换参数列表上的两个整数的问题? )
缺点:如果我有很多属性,实例化行可能会变得很长,并且可能跨越两行或更多行
- setter 和默认的空构造函数
优点:我可以清楚地看到我在设置什么,所以如果我做错了什么,我可以在输入时立即查明它(我不能犯之前切换两个变量的错误同类型)
缺点:具有很多属性的对象的实例化可能需要几行(不知道这是否真的是一个缺点),如果我忘记设置一个属性,编译器不会说什么。
你会做什么,为什么? 您是否知道建议的任何灯光模式(考虑到每次实例化具有 7 个以上属性的对象时都应该使用它)? 我问这个是因为我倾向于不喜欢大型构造函数,因为我无法快速找出我正在寻找的变量在哪里,另一方面,我发现“设置所有属性”容易丢失一些属性。
请随意争论我的假设的利弊,因为它们只是我的想法:)
更新 - 我发现的一个与此相关的问题:Building big, immutable objects without using constructors having long parameter lists
【问题讨论】:
标签: java constructor setter