Лабораторные работы по информатике (С#)
НИТУ “МИСиС” Доц., к.т.н. Мурадханов С.Э. № С# - ООП: базовый курс C# Лабораторные работы Лабораторная работа №2 Состав и структура классов: LPerson (класс - список объектов типа Person), Team (класс - список объектов типа ResearchTeam). Кассы содержат свойства и методы для добавления, редактирования, удаления и поиска объектов. Тип TimeFrame - перечисление со значениями Year, TwoYears, Long. Класс Person содержит: закрытое поле типа string, в котором хранится имя; закрытое поле типа string, в котором хранится фамилия; закрытое поле типа System.DateTime для даты рождения. конструктор (string, string, DateTime) для инициализации полей; конструктор без параметров, инициализирующий все поля класса значениями по умолчанию; свойство типа string для доступа к полю с именем; свойство типа string для доступа к полю с фамилией; свойство типа DateTime для доступа к полю с датой рождения; свойство типа int c методами get и set для получения информации и изменения года рождения в закрытом поле типа DateTime; Перегруженную (override) версию виртуального метода ToString() для формирования строки со значениями всех полей класса; виртуальный метод string ToShortString(), который возвращает строку, содержащую только имя и фамилию. Класс Paper имеет: имеет открытые свойства для чтения и записи: свойство типа string, в котором хранится название публикации; свойство типа Person для автора публикации; свойство типа DateTime c датой публикации; конструктор (string, Person, DateTime) для инициализации полей; конструктор без параметров, инициализирующий все свойства класса некоторыми значениями по умолчанию; перегруженную (override) версию виртуального метода ToString() для формирования строки со значениями всех полей класса. Класс ResearchTeam имеет: закрытое поле типа string c названием темы исследований; НИТУ “МИСиС” Доц., к.т.н. Мурадханов С.Э. № С# - ООП: базовый курс C# Лабораторные работы закрытое поле типа string с названием организации; закрытое поле типа int – регистрационный номер; закрытое поле типа TimeFrame - продолжительность исследований; закрытое поле типа Paper, в котором хранится список публикаций.. конструктор (string, string, int, TimeFrame) для инициализации; конструктор без параметров, инициализирующий поля класса; свойство типа string для доступа к названию темы исследований; свойство типа string для доступа к полю с названием организации; свойство типа int для доступа к полю с номером регистрации; свойство типа TimeFrame - доступ к длительности исследований; свойство типа Paper для доступа к списку публикаций; свойство типа Paper, ссылка на публикацию с самой поздней датой выхода (если список публикаций пуст, возврат значения null); индексатор типа bool с одним типа TimeFrame (индексатор равен true, если значение поля с длительностью исследований совпадает со значением индекса, и false в противном случае); метод void AddPapers для добавления в список публикаций; перегруженную версию виртуального метода ToString() для формирования строки со значениями полей (+ список публикаций); виртуальный метод string ToShortString(), который формирует строку со значениями всех полей класса без списка публикаций. Программа должна выполнить следующие действия: Добавление, редактирование, удаление значений элементов списков классов LPerson и Team; Преобразовать данные в текстовый вид (файл и обратно) и отображение информации на экране. Разработать интерфейс для функционирования приложения: отображение информации/ ввод / вывод, выбор пунктов меню и пунктов инструментальной панели. Разработка Windows - приложения.