类的所有私有变量的getter和setter?

时间:2016-06-06 03:49:30

标签: class oop object setter getter

所有类的私有变量上添加 getters setters 一般是否真的有必要或一个好的做法?

我不是在询问只读变量。我真正要问的是一般情况,大部分时间我们只是添加 getters setter 以防他们需要而且不要真的知道他们是否会被使用。

3 个答案:

答案 0 :(得分:2)

不同的人对“getters”和“setters”的使用有不同的解释。最纯粹的OO人说,他们是evil

但实际上有些情况下我们必须至少以非直接的方式与它们一起使用。

但我相信,按照你的建议无缝添加它们并不是一个好习惯。

答案 1 :(得分:1)

由于私有属性是定义类的内部状态,因此无需编写访问器。

好处是:

  • 更快的代码执行(更少的函数调用),
  • 更高的可读性和可维护性(更低的LOC),
  • 仅限定义类的私有属性的可访问性。

答案 2 :(得分:-2)

没有必要为所有私有变量编写getter或setter。 这只是一个很好的做法。 但是,如果没有任何公共函数,则无法访问类的私有数据(变量)。

相关问题