只是为了澄清这是一个很好的做法,将类字段设置为私有,然后设置公共集和获取方法来更改值,并获取它们(打印它们等)? JUst所以我知道,我在书中读到,将我的田地宣布为公共场所可能是一种不好的做法......
答案 0 :(得分: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;
}
答案 1 :(得分:0)
简而言之,是。这将使消费者与以后对实施的更改隔离开来。起初感觉就像一个拖累,但它只是少量的样板工作。并且它使得get / set范例在实际执行某些非常重要的方法之间保持一致。
答案 2 :(得分:0)
如果你不打算实现或添加到当前的Set或Get normal方法,只是不要使用它们而是使用public,但是对于其他用途,比如自定义实现另一个行为或功能使用它们。
答案 3 :(得分:0)
如果你问为什么使用setter和getter是好的,我认为你是这样的,这有几个原因: