Зачем использовать поля, если есть свойства? - C#
Формулировка задачи:
Приветствую.
Объясните новичку: для чего нужно использовать поля, если есть такая штука, как свойства? Попробую добавить конкретики.
Есть вариант использовать приватное поле + два метода (геттер+сеттер):
Есть вариант использовать приватное поле + свойство:
И есть вариант использовать только свойство:
Появляется совершенно очевидный вопрос: зачем использовать первые два варианта, если последний куда как короче и яснее? Да, работа с полями может быть быстрее, но имеет ли это большое значение при работе на современном железе и, в конце концов, с языком С# (не чистый Си, ориентированный на скорость)?
На всякий случай, чтобы предотвратить недопонимание: я не знаю, почему и в каких случаях первые два варианта могут оказаться выгодными и совершенно ничего не утверждаю. Я хочу изучить язык и прошу помощи
private int variable; public int getVariable() { return variable; } private void setVariable(int newVariable) { variable = newVariable; }
private int variable; public int Variable { get { return variable; } private set { variable = value; } }
public int Variable { get; private set; }
Решение задачи: «Зачем использовать поля, если есть свойства?»
textual
Листинг программы
class foo{ private: int FBar; protected: void SetBar(int aBar){ //SetterCode here }; public: __property int Bar={read=FBar, write=SetBar}; // при чтении оверхед отсутствует, а при записи его не избежать по логике задачи };
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д