Методы доступа и мутации

Возможный дубликат:
Зачем использовать геттеры и сеттеры?

Мне кажется, что создавать методы доступа и мутатора, как правило, очень сложно, особенно при работе с очень простыми атрибутами. Зачем мне их использовать?

0

Решение

Ответ в основном зависит от того, для чего вы пишете код и насколько вы доверяете себе, работая в одиночку:

  • Хранение переменных в секрете полезно, когда вы работаете с людьми или когда вы хотите применить проверку времени компиляции, чтобы убедиться, что вы не используете их вне класса
  • сеттеры полезны, если у вас есть побочные эффекты
  • Получатели полезны, если у вас есть побочные эффекты или вы хотите, чтобы переменные оставались только для чтения
  • иметь или не иметь геттеры и сеттеры — ваш выбор, если другие люди будут использовать ваши классы, тогда инкапсуляция может быть хорошей вещью из-за сокрытие информации принцип
  • если вы единственный, кто работает над вашим проектом, просто делайте то, что чувствуете, вы успеете добавить их на более позднем этапе, если действительно почувствуете необходимость
  • так как мы говорим о C ++, не забудьте friend директива, которая позволяет инкапсуляцию мелких частиц без необходимости иметь сеттеры и геттеры (даже если она поощряет сцепление, поэтому здесь есть две разные школы мышления)
3

Другие решения

Я не могу говорить о бремени синтаксиса C ++, но в общих терминах объектно-ориентированного подхода вы должны указывать методы получения и установки, потому что другие классы не имеют никакого дела, зная, как вы храните свое внутреннее состояние, в том числе какие свойства хранятся напрямую, которые вычисляются на основе другого состояния. и которые переданы дальше другим объектам. Заключение контракта с широким миром о том, как класс будет хранить состояние, ограничит коррективы, которые вы можете внести в будущем, часто препятствуя оптимизации и нарушая ваш код, поскольку проблема, которую вы решаете, становится более нюансированной.

2

  1. Они позволяют контролировать доступ. Вы можете только читать, читать / писать или даже просто написать
  2. Это позволяет изменить базовую реализацию при необходимости. Рассмотрим вычисление средней скорости для ряда транспортных средств. Вы можете реализовать это, сохранив список скоростей, а затем вычислите среднее значение при необходимости. ИЛИ ЖЕ сохранить промежуточный итог и количество.
  3. Весь доступ к классу осуществляется через методы. Облегчает обнаружение ошибок.
  4. Это не много усилий. Можно использовать скрипт, чтобы просто создать их.
1
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector