Использование классов с формами - PullRequest
0 голосов
/ 09 января 2019

Я пытаюсь понять, правильно ли использовать класс при вводе данных в форму. Я не уверен, правильное ли мое понимание, я не знаю, должен ли я пытаться создать новый объект при вводе данных, или мои данные должны храниться в массиве / файле и т. Д.

Это только для моего понимания, я просто учусь для себя, поэтому не имею конкретного примера того, чего я пытаюсь достичь. Я пытаюсь понять классы, и когда их использовать, в настоящее время я балуюсь формами c # в visual studio

скажем, я хочу ввести информацию в форму всех членов моего рыболовного клуба, то есть имя, адрес, контактную информацию и т. Д., Если я пытаюсь создать новый объект класса, который содержит методы для получения / установка этих переменных, или я должен хранить эти детали где-то еще, в массиве, или записать их, например, в текстовый файл / файл Excel? Поскольку я новичок, я думаю, что я борюсь с концепцией классов и где их использовать.

Я ожидаю, что для использования класса для этой цели мне придется научиться создавать экземпляр класса во время выполнения, чтобы создать несколько экземпляров класса, тогда как для ввода данных в массив мне просто нужно инициализировать размер массива.

Я немного растерялся, поэтому любая помощь будет очень признательна.

1 Ответ

0 голосов
/ 09 января 2019
  • Стоит ли хранить эти поля в объектах? Да
  • Должны ли эти объекты храниться в коллекции (например, в массиве)? Да
  • Имеет ли смысл сохранить эту коллекцию в файле? Да

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

Объекты предоставляют структурированный способ хранения информации (давая каждому полю имя и тип, для начинающих) и способ для языка / компилятора реализовать эту структуру. Хранение всех связанных данных для сущности в объекте - это отличная идея, вы почти никогда не захотите иметь группу членов для этой цели.

Массивы или, в более общем случае, коллекции - это группы "вещей". Вы могли бы хранить всю эту информацию в массиве вместо объекта (и тогда для нескольких записей имелись "параллельные" массивы ", но это очень грязный и любительский метод). Однако коллекция ваших объектов это вполне разумная вещь (вам не нужны переменные object1, object2, object3 в вашем коде).

Файлы важны, потому что и объекты и коллекции (которые сами по себе являются объектами) хранятся в памяти , они исчезнут при закрытии приложения. Файлы (и аналогичные им, например, базы данных) дают вам возможность сохранить их (следовательно, такие методы называются «постоянным» слоем). Затем вы можете загрузить сохраненные данные в новый экземпляр вашей программы (например, если пользователь перезагружает компьютер).


Дополнительное примечание: я должен сделать методы для получения / установки этих переменных? нет Нет .

Просто используйте свойства (т. Е. public string Address {get; set;}). Они предоставляют как вспомогательное поле (по крайней мере, со свойством auto, как указано выше) и являются синтаксическим сахаром для методов get и set (которые можно переопределить с помощью свойства full).

В качестве бонуса, если вы используете WPF, вы можете автоматизировать заполнение свойств из пользовательского интерфейса с помощью привязки данных, но это вопрос другого дня:).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...