Доброго вечера ЛОР, есть один вопрос, который мне не дает покоя, а именно, какая из кострукций кода считается правильной и почему? Постараюсь объяснить на простом примере.
Возьмем класс Character, который представляет собой игрока в ММО, у класса есть поля mName, mHealth, mEnergy(все публичные) и конструктор, который все это инициализирует.
Есть так же класс Spell со своими полями и у этого класса есть метод execute
public void spellExecute(Character caster, Character target) {
caster.mEnergy -= this.spellCost;
target.mHealth -= this.spellDamage
}
Вопрос в чем, насколько хорошее(плохое) данное решение? Часто попадались реализации, где все поля класса Character были private и для работы с ними использовались get / set методы, но, я не понимаю зачем они нужны в данном контексте, дискасс.