我有一个static double
,其他类需要访问和修改。
拥有public
getter和setter并制作static double
private
或者,只需制作static double
public
?
对于非static
成员,我可以看到安装者和吸气者的好处,但我不确定
static
秒。
答案 0 :(得分:2)
使用getter和setter,因为它更灵活。它还可以防止有人将double
更改为您的应用程序中不允许的内容。您可以在获取和设置方法中检查它。文档也更容易。请使用getter和setter。
答案 1 :(得分:1)
已经给出了死记硬背的答案,并且它们是正确的:公共课程很糟糕(除非是最终的)。相反,您应该始终通过方法授予访问权限,以便您可以控制类的开发。
真正的设计问题是,为什么你想让其他类首先访问这个类的数据呢?有一些特定情况下这是有意义的,而更多情况下它没有。粗略地说,如果一个类是数据包,您希望允许用户将数据放入并将其取出。否则,您几乎想让该类处理自己的业务。也就是说,我们将数据提交给对象并可能得到响应。我们没有进入并检查和设定其值,因为如果我们这样做,我们就会创造出不必要的耦合。
我鼓励您重新审视您的设计,并再次考虑编写意大利面条代码的必要性。这可能会在以后咬你。相反,尝试提出一种“在其关节处雕刻自然”的设计 - 也就是说,您不需要以这种方式穿过细胞壁。
答案 2 :(得分:0)
最好使用getter和setter,因为以后可以在需要时修改变量时添加同步或执行其他操作。
答案 3 :(得分:0)
我使用setter / getter如果变量是static
而不是final
,你必须在设置新值时验证它,并且你可能需要制作那些方法{ {1}}如果您处于多线程上下文中。