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

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

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

Я должен для каждого поля создать функции set и get типа .getCash(), setName() и т. д., даже если никакие дополнительные действия не совершаются?
  • Вопрос задан
  • 121 просмотр
Подписаться 2 Простой Комментировать
Помогут разобраться в теме Все курсы
  • ProductStar
    Python: навык ООП и функционального программирования
    1 месяц
    Далее
  • Stepik
    Python OOP от Python_Samurai
    2 недели
    Далее
  • Учебный центр IBS
    JVA-I-001 Java: ООП и функциональная парадигма
    1 неделя
    Далее
Решения вопроса 2
HemulGM
@HemulGM
Delphi Developer, сис. админ
YuriyVorobyov1333
@YuriyVorobyov1333
Software Developer
Вопрос сложный, и зависит скорее от конкретной задачи, от стиля организации/проекта и других факторов. Начнем с того, что есть приватные и публичные поля, если публичные можно свести к гетерам и сетерам, то для приватных, это не требуется, разве что, чтобы снизить ошибки со стороны разработки, но читать полотно гетов и сетов тоже не особо удобно
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
unmorsino
@unmorsino
Точу водой камень
Зависит от того как будет использоваться класс.
Однв из целей инкапсуляции снижение вероятности что класс/модуль/функция будет использована неверно. В предельном случае апи класса должно позволять только верное использование. Но так не всегда язык позволяет это сделать.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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