Задать вопрос

Все ли поля класса нужно инкапсулировать?

Здравствуйте.
Вопрос собственно весь в заголовке.
Допустим есть класс Player (псевдокод):
class Player {
    string name;
    int cash;
    int level;
}

Я должен для каждого поля создать функции set и get типа .getCash(), setName() и т. д., даже если никакие дополнительные действия не совершаются?
  • Вопрос задан
  • 115 просмотров
Подписаться 2 Простой Комментировать
Решения вопроса 2
HemulGM
@HemulGM
Delphi Developer, сис. админ
YuriyVorobyov1333
@YuriyVorobyov1333
Software Developer
Вопрос сложный, и зависит скорее от конкретной задачи, от стиля организации/проекта и других факторов. Начнем с того, что есть приватные и публичные поля, если публичные можно свести к гетерам и сетерам, то для приватных, это не требуется, разве что, чтобы снизить ошибки со стороны разработки, но читать полотно гетов и сетов тоже не особо удобно
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
sarapinit
@sarapinit
Точу водой камень
Зависит от того как будет использоваться класс.
Однв из целей инкапсуляции снижение вероятности что класс/модуль/функция будет использована неверно. В предельном случае апи класса должно позволять только верное использование. Но так не всегда язык позволяет это сделать.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы