2017-03-17 35 views
3

我有这Setting.class它有几个变量。我是否需要创建一百个getter和setter?

private int timeRemember, timeConcentration; 
private boolean hearts, spades, diamonds, clubs; 

我知道我应该为他们创建getter和setter,但它需要50行代码。 如果我有更多的变量,比方说40,它会是200左右。

我的问题是 - 每个人都这样做?或者有什么我不知道的?

+2

你在用什么IDE ??。你可以为你的领域生成所有的getter和setter。 –

+0

这可能也有帮助https://projectlombok.org/ – Philippe

+1

我知道我可以,我做到了。我只是好奇,如果这是人们的行为。 – mafiozorek

回答

0

是否你需要你的类变量的getters和setters取决于你。这取决于你的代码中其他地方如何使用这个类。如果你不确定,你可以随时添加getters和setter,因为你在开发过程中发现你需要它们。

但是,许多现代Java IDE允许您自动生成getter(setter)(例如Eclipse或IntelliJ)。在IntelliJ中,您可以使用代码>生成...菜单执行此操作。

+3

我喜欢我得到两张倒票,但没有评论。在我的答案中看不到任何与时代矛盾的东西,除了没有提及课程设计。 – kunruh

+0

我刚才建议不要有字段,单个Map可以将类中的所有值用键定义为最终变量。然后,我意识到,只是为了打开这种可能性,我会被低估。总是有一个“聪明”的人,准备好指出“正确”的方式去做没有任何理由的事情。 –

6

如果您有40个实例变量,您还有其他需要担心的事情。你的课堂设计很可能有问题。

一般来说,超过10-11的字段被认为太多了。

除此之外,你可能还想问问自己,如果这个类实际上需要getter和setter?它可以是不可变的吗?

0

您可以利用诸如Enums(而不是每个套装的bool),使用single responsibility(单独的时间和卡片)构建课程,并问问自己是否真的需要在外部公开该变量你的班级。

0

看看项目lombok。它允许你在许多其他事情中“自动化”使用注释创建setter/getter。