Дайте тоже поразглагольствую/позанудствую о пользе геттеров и особенно сеттеров

Особенно хорошо знаком с ними по опыту работы с С++ (C++Builder, если уж совсем точным быть). Сеттер - очень удобная хрень. Потому что внутри этой функции можно:
1. Проверить корректность устанавливаемой величины и, в случае необходимости, скорректировать её.
Например, некая величина разрешена в диапазоне от 1 до 10. При попытке установить величину, большую 10, он будет все равно только 10.
2. Вызвать событие, связанное с изменением величины. Это может быть некое пользовательское событии, либо метод самого объекта.
Например, при установке свойства Active можно вызвать методы Open() или Close(), а также события BeforeOpen, AfterOpen, BeforeClose, AfterClose (когда какие, я думаю, понятно и без каментов

). Естественно, события будут вызваны (соответствующие им функции), если мы определим эти самые функции.
Геттер тоже может быть полезен, если мы хотим получать значение не некой "почти константы", а величину типа статуса, который может быстро меняться в зависимости от внешних условий и еще чего-нибудь. Тогда, фактически, не будет внутренней переменной, а будет определение этих внешних или других условий, получения статуса и его возврат вызывающему.
Опять же, если у нас есть сеттер для свойства, контролирующий и ограничивающий ввод данных (п.1 для сеттеров, что я написал чуть ранее), то мы тогда просто обязаны сделать геттер для этого свойства. Иначе просто не получится реализовать.
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)