Обзор темы [Рефакторинг кода]

Внутренняя инкапсуляция (Self Encapsulate Field)

Обращение к полю происходит напрямую, что постепенно путает картину происходящего.

Создать методы установки и выборки значения и использовать только их.

private int _low, _high;

boolean includes (int arg) {

return arg >= _low && <= _high;

}

private int _low, _high;

boolean includes (int arg) {

return arg >= getLow() && <= getHigh();

}

int getLow() {return _low}

int getHigh() {return _high}

Хотя прямое обращение к переменным проще для чтения кода, возникают ситуации, когда надо использовать методы выборки и установки значений (Get и Set методы) даже внутри методов класса – владельца полей. Такая ситуация может возникнуть, если из подкласса происходит обращение к полю суперкласса, причем возвращаемое значение должно быть каким-либо образом изменено.