-1

只是为了澄清将类字段设置为私有然后设置公共设置和获取方法来更改值并获取它们(打印它们等)是一种好习惯?就这样我知道,我在书中读到,经常将我的字段声明为公共字段可能是一种不好的做法......

4

4 回答 4

0

您拥有 getter 和 setter 的原因是您可以在未来将逻辑引入它们。

如果您的代码已经使用 getter 和 setter,而不是直接访问字段,那么将逻辑放入您的 getter/setter 不会破坏使用您的代码的其他程序。

例如,您可以更改

private i

public set_i(int x)
{
    i = x;
}

进入

private i

public set_i(int x)
{
    if(x < 0)
        i = 0;
    else
        i = x;
}
于 2013-10-07T20:26:21.083 回答
0

简而言之,的。这使消费者免受以后对实现的更改。起初感觉像是拖累,但这只是少量的样板工作。它使 get/set 范式在实际做一些不平凡的事情的方法之间保持一致。

于 2013-10-07T20:26:46.430 回答
0

如果您不打算实现或添加到当前的 Set 或 Get 普通方法,请不要使用它们并使用 public 代替,但对于其他用途(如自定义)实现另一种行为或功能使用它们。

于 2013-10-07T20:27:21.370 回答
0

如果你问为什么使用 setter 和 getter 很好,我认为你是这样,这有几个原因:

  • 您可以在其中存储可供多个类使用的逻辑。
  • 该变量可以是只读的或只写的(提高代码的安全性)。
于 2013-10-07T20:29:54.553 回答