Зачем использовать поля, если есть свойства? - 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}; // при чтении оверхед отсутствует, а при записи его не избежать по логике задачи
- };
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д