Перенос логики создания персон в класс «PersonList»

Страницы работы

5 страниц (Word-файл)

Содержание работы

Перенос логики создания персон в класс «PersonList»

Модернизируем наш проект. Сделаем так, чтобы «люди» создавались не в форме (при загрузке формы в событии «form_load»), а в специально предназначенном для этих целей классе «PersonList». Данный класс и создавался для того, что содержать в себе всю «логику» (программный код) по «работе с людьми» (создание новых, изменение существующих, удаление из списка и т.д.). Для этого необходимо перейти в класс «PersonList», который находится в проекте «PersonLibrary». Этот класс необходимо сделать «public» (открытым), так как он нам понадобится для вызова из другого проекта («PersonWindows»). Также этот класс необходимо наследовать от встроенного класса «List<>». Класс «List<>» является встроенной коллекцией языка программирования C#. Данная коллекция может содержать любые классы. В нашем случае будет содержать классы «PersonInfo» (то есть «коллекция персон»). Наследование предполагает, что все свойства, которые заложены в классе «List<>» перейдут к классу «PersonList». Таким образом «PersonList», хотя еще и не содержит ни какого кода, будет содержать много различных свойств и метод «наследованных» от класса «List<>» (например «Add» или «Remove»). Код наследования показан на рисунке 1.

Рис. 1 Класс «PersonList» - наследование

Далее добавим метод (функцию) с названием «GetDefaultPersonList» (англ. получить список персон по умолчанию). Этот метод будет открытым «public» (так как будет вызываться из других форм и проектов), будет статическим «static» (назначение этого поля разъяснит преподаватель), и будет возвращать коллекцию людей «PersonList» (вместо ключевого слова «void», которое означает, что метод ничего не возвращает). Метод «GetDefaultPersonList» показан на рисунке 2.

Рис. 2 Добавление метода «GetDefaultPersonList»

Так как метод «GetDefaultPersonList» должен вернуть класс «PersonList», то сразу необходимо внести в метод следующий код. Здесь создается экземпляр класса «PersonList» с названием «myList», который ниже возвращается. Для возвращения используется ключевое слово «return». Таким образом, данный метод при вызове создаст новый пустой класс «PersonList» и сразу вернет его (туда откуда этот метод будет вызван). Код показан на рисунке 3.

Рис. 3 Метод возвращает коллекцию «PersonList»

Далее сделаем так, чтобы возвращалась не пустая коллекция людей, а заполненная. Для этого необходимо перейти в форму «PersonForm» в  проекте «PersonWindows». В форме перейти к событию «form_load», где создаются персоны (товарищ Владимир Быстров и товарищ Игорь Семшов). Весь код в событии «form_load» (рисунок 4) необходимо перенести в метод «GetDefaultPersonList» класса «PersonList».

Рис. 4 Перенос кода по созданию персон из формы в класс

Таким образом в событии «form_load» на форме «PersonForm» должна остаться пустота, а в классе «PersonList» перед словом «return» добавиться код по созданию персон (товарищ Владимир Быстров и товарищ Игорь Семшов). Только необходимо заменить в добавленном коде слово «_personList» (так коллекция называлась на форме, и подчеркивается как ошибка при добавлении кода в метод «GetDefaultPersonList») на «myList». Код метода «GetDefaultPersonList» показан на рисунке 5.

Рис. 5 Создание персон в методе «GetDefaultPersonList» класса «PersonList»

Теперь класс «PersonList» полностью готов, и его можно закрыть. Проверь на ошибки (проект «PersonLibrary» «постройте» - англ. «build»). Если есть ошибки, попросите помощь преподавателя.

Далее модернизируем код на форме «PersonForm» в проекте «PersonWindows». Необходимо внести изменения в метод загрузки персон. Этот метод называется «Refresh». Сначала необходимо переименовать этот метод на «RefreshPersonList» (обновление списка персон). После переименования просмотрите код формы и где вызывается метод «Refresh» замените на вызов метода «RefreshPersonList» (в кнопках 1 и 2).

Далее в метод «RefreshPersonList» необходимо внести изменения. Теперь коллекция персон будет вызываться из класса «PersonList». Код показан на рисунке 6.

Рис. 6 Изменения в методе «Refresh»

Можно запустить и проверь как работает проект. Результат будет тот же самый, только теперь персоны будут создаваться не на самой форме, а в классе «PersonList».

Запуск формы показан на рисунке 7. Обратите внимание, что теперь кнопка «Добавить» работать не будет (так и задумано в данной лабораторной работе).

Рис. 7

Похожие материалы

Информация о работе

Предмет:
Информатика
Тип:
Методические указания и пособия
Размер файла:
142 Kb
Скачали:
0