Если у меня есть переменная экземпляра, которая имеет частную видимость, должен ли я использовать сеттер для изменения ее значения или просто изменить значение напрямую?
Переменная экземпляра в этом примере будет изменяться только в этом классе, поэтому установщик будет закрытым. Я предполагаю, что использование сеттера является правильным способом, поскольку он локализует, как и когда он изменяется, но по какой-то причине это просто то, что меня беспокоит!
Ниже приведен код, который может помочь более четко передать мой вопрос.
public class A {
private int i;
public A() {
i = 5
}
private void doSomeCalculationsA() {
//work done here which results in the value of i being directly changed
i = 7
}
private void doSomeCalculationsB() {
//work done here which results in change value of i being changed via the setter
setI(5)
}
private void setI(int newValue) {
i = newValue;
}
}