только для того, чтобы прояснить, что рекомендуется устанавливать поля классов как частные, а затем устанавливать открытый набор и получать методы для изменения значений и получать их (печатать их и т. Д.)? JUst, так что я знаю, что я читал в своей книге, это может быть плохой практикой, чтобы объявить мои поля общедоступными ...Устанавливать и получать методы
ответ
Причина, по которой у вас есть геттеры и сеттеры, позволяет потенциально вводить логику в их в будущем.
Если ваш код уже использует геттеры и сеттеры вместо того, чтобы просто обращаться к полям напрямую, чем вставлять логику в ваши геттеры/сеттеры, вы не нарушаете другие программы, которые используют ваш код.
, например, вы можете изменить
private i
public set_i(int x)
{
i = x;
}
в
private i
public set_i(int x)
{
if(x < 0)
i = 0;
else
i = x;
}
Короче, да. Это изолирует потребителя от изменений в реализации позже. Сначала это похоже на перетаскивание, но это всего лишь небольшое количество работы с шаблонами. И он сохраняет парадигму get/set в соответствии с методами, которые на самом деле делают что-то нетривиальное.
Если вы не собираетесь внедрять или добавлять к текущему методу Set или Get normal, просто не используйте их и не используйте public вместо этого, но для других целей, таких как пользовательские, используется другое поведение или функциональность.
Если вы спрашиваете, почему это хорошо, чтобы использовать сеттер и добытчик, которые я предполагаю, что вы, это хорошо в течение нескольких причин:
- Вы можете хранить логику в них, которые могут использоваться несколько классы.
- Переменная может быть только для чтения или только для записи (улучшает безопасность кода).
- 1. Устанавливать и получать метод не работает
- 2. Устанавливать и получать различия свойств и констант
- 3. @ Html.Hidden получать и устанавливать значения бритвы 4
- 4. объекты и получать родители методы
- 5. Doctrine: Изменить формат даты, когда получать и устанавливать значения полей
- 6. S3 Политика, позволяющая пользователю устанавливать, получать, удалять и изменять разрешения
- 7. Флажок в Oracle ADF Таблица: Не получать или устанавливать данные
- 8. HashMap - содержит и получать методы не должны использоваться вместе
- 9. Как отправлять, получать и хранить ссылки на внешние методы
- 10. Mockito, как использовать реальные методы и получать значения
- 11. командный файл не будет устанавливать разрешения и получать входные данные из командной строки
- 12. НПМ Устанавливать не устанавливать пакеты
- 13. Быстрее ли сравнивать и устанавливать или просто устанавливать?
- 14. Методы и методы возврата
- 15. NodeJS - НПЙ устанавливать зависимости
- 16. Я знаю, как устанавливать методы класса, но как установить методы экземпляра на лету?
- 17. создавать элементы и устанавливать атрибуты
- 18. записи обновлений и устанавливать значения
- 19. Устанавливать и вызывать Pester удаленно
- 20. scikit учиться устанавливать и использовать
- 21. Правильно ли получать и особенно устанавливать глобальные переменные модуля Perl напрямую?
- 22. ember получать текущую информацию пользователя из сеанса и устанавливать currentUser для использования внутри шаблона
- 23. Зачем устанавливать и isset() и! Empty()
- 24. Абстрактные методы и методы скрытия
- 25. Методы Javadoc и унаследованные методы
- 26. Moq и виртуальные свойства и методы
- 27. Методы и свойства
- 28. Зачем иногда устанавливать порядок?
- 29. Устанавливать-до отношений в Java
- 30. Методы Propel и Collection
И это может облегчить отладку, поскольку вы можете легко проверить, откуда установлена переменная. –