Зачем использовать поля, если есть свойства? - C#

Узнай цену своей работы

Формулировка задачи:

Приветствую. Объясните новичку: для чего нужно использовать поля, если есть такая штука, как свойства? Попробую добавить конкретики. Есть вариант использовать приватное поле + два метода (геттер+сеттер):
Листинг программы
  1. private int variable;
  2. public int getVariable()
  3. {
  4. return variable;
  5. }
  6. private void setVariable(int newVariable)
  7. {
  8. variable = newVariable;
  9. }
Есть вариант использовать приватное поле + свойство:
Листинг программы
  1. private int variable;
  2. public int Variable
  3. {
  4. get
  5. {
  6. return variable;
  7. }
  8. private set
  9. {
  10. variable = value;
  11. }
  12. }
И есть вариант использовать только свойство:
Листинг программы
  1. public int Variable { get; private set; }
Появляется совершенно очевидный вопрос: зачем использовать первые два варианта, если последний куда как короче и яснее? Да, работа с полями может быть быстрее, но имеет ли это большое значение при работе на современном железе и, в конце концов, с языком С# (не чистый Си, ориентированный на скорость)? На всякий случай, чтобы предотвратить недопонимание: я не знаю, почему и в каких случаях первые два варианта могут оказаться выгодными и совершенно ничего не утверждаю. Я хочу изучить язык и прошу помощи

Решение задачи: «Зачем использовать поля, если есть свойства?»

textual
Листинг программы
  1. class foo{
  2. private:
  3.        int FBar;
  4. protected:
  5.        void SetBar(int aBar){
  6.             //SetterCode here
  7.        };
  8. public:
  9.         __property int Bar={read=FBar, write=SetBar}; // при чтении оверхед отсутствует, а при записи его не избежать по логике задачи
  10.      
  11. };

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.714 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы