Задание 1 (1). Задание 1классы и наследование
Скачать 73.24 Kb.
|
ЗАДАНИЕ №1 КЛАССЫ И НАСЛЕДОВАНИЕ ЦЕЛЬ РАБОТЫ: изучить принципы написания программ с использованием наследования классов на языке C# с графическим интерфейсом Windows Forms. НЕОБХОДИМЫЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ 1. Курс лекций [1]. 2. Классы как типы [3, c. 182-204]. 3. Описание и использование классов [4, c. 68-90]. 4. Включение, вложение и наследование классов [3, c. 226-239]. 5. Отношения между классами [4, c. 91-99]. 6. Официальный сайт Microsoft Visual Studio [6]. 7. Техническая документация Microsoft [7]. ЗАДАНИЕ НА ЛАБОРАТОРНУЮ РАБОТУ 1. Разработать в среде Microsoft Visual C# приложение Windows Forms, представляющее собой иерархию классов предметной области согласно варианту. В качестве основы иерархии использовать обычный класс (не абстрактный). Номер варианта определяется по последними двум цифрам зачётной книжки согласно табл. 1. Таблица 1 – Формулы расчета варианта исходных данных Последние две цифры зачетной книжки, Nзач Номер варианта, Nвар Nзач=от 1 до 20 Nвар=Nзач Nзач=от 21 до 40 Nвар=Nзач-20 Nзач=от 41 до 60 Nвар=Nзач-40 Nзач=от 61 до 80 Nвар=Nзач-60 Nзач=от 81 до 99 Nвар=Nзач-80 2. В классах описать конструкторы с параметрами и конструкторы по умолчанию, свойства для установки и получения значений полей классов, методы для описания поведения объектов. Каждый из создаваемых классов должен иметь не менее трёх методов, свойств, конструкторов. 3. Для каждого созданного класса переопределить методы Equals и ToString класса оbject. Метод Equals переопределить так, чтобы объекты считались равными, если равны значения полей объектов, а не ссылки объектов. 4. Для визуализации, разработанной иерархии классов и их элементов, создать диаграмму классов (Class Diagram) средствами Microsoft Visual Studio. 5. Разработанное приложение должно содержать интерфейс Windows Forms и демонстрировать всю реализованную функциональность классов. Необходимо создать массив из объектов базового класса, заполнить его ссылками на производные классы, вывести на экран элементы массива, создать два объекта базового класса с совпадающими данными и проверить, что ссылки на объекты не равны, а объекты равны, вывести значения хеш-кодов для объектов. 6. В коде должны присутствовать комментарии, поясняющие алгоритм работы программы. 7. Составить отчет по лабораторной работе в электронном виде, в котором представить описание созданного приложения в виде скриншотов форм с пояснениями. К отчету приложить архив проекта, разработанного приложение Windows Forms. Структура отчета: r титульный лист с указанием номера варианта; r скриншот диаграммы классов, с описанием всех её компонентов; r скриншоты всех форм, сделанные в процессе работы приложения с комментариями; r вывод по результатам работы. Отчет оформляется согласно требованиям Методических указаний по оформлению письменных работ. Готовый отчет предоставляется преподавателю для защиты в электронном виде. ВАРИАНТЫ ИСХОДНЫХ ДАННЫХ Вариант Задание 1. Студент, преподаватель, персона, заведующий кафедрой 2. Служащий, персона, рабочий, инженер 3. Деталь, механизм, изделие, узел 4. Журнал, книга, печатное издание, учебник 5. Место, область, город, мегаполис 6. Игрушка, продукт, товар, молочный продукт 7. Квитанция, накладная, документ, счет 8. Автомобиль, поезд, транспортное средство, экспресс 9. Двигатель, дизель, двигатели внутреннего сгорания и реактивный 10. Республика, монархия, королевство, государство 11. Млекопитающее, парнокопытное, птица, животное 12. Товар, велосипед, горный велосипед, самокат 13. Лев, дельфин, птица, синица, животное 14. Музыкант, персона, студент, гитарист 15. Печатное издание, газета, книга, периодика 16. Корабль, пароход, парусник, корвет 17. Стихотворение, стиль изложения, рифма, проза 18. Поселок, область, район, город 19. Грузовик, автомобиль, легковое авто, транспорт 20. Окружность, геометрическая фигура, линия, заливка КОНТРОЛЬНЫЕ ВОПРОСЫ 1. Что понимается под термином «класс»? 2. Какие элементы определяются в составе класса? 3. Каково соотношение понятий «класс» и «объект»? 4. Что понимается под термином «члены класса»? 5. Какие члены класса Вам известны? 6. Какие члены класса содержат код? 7. Какие члены класса содержат данные? 8. Перечислите пять разновидностей членов класса специфичных для языка C#. 9. Что понимается под термином «конструктор»? 10.Сколько конструкторов может содержать класс языка C#? 11.Приведите синтаксис описания класса в общем виде. Проиллюстрируйте его фрагментом программы на языке C#. 12.Какие модификаторы типа доступа Вам известны? 13.В чем заключаются особенности доступа членов класса с модификатором public? 14.В чем заключаются особенности доступа членов класса с модификатором private? 15.В чем заключаются особенности доступа членов класса с модификатором protected? 16.В чем заключаются особенности доступа членов класса с модификатором internal? 17.Какое ключевое слово языка C# используется при создании объекта? 18.Приведите синтаксис создания объекта в общем виде. Проиллюстрируйте его фрагментом программы на языке C#. 19.В чем состоит назначение конструктора? 20.Каждый ли класс языка C# имеет конструктор? 21.Какие умолчания для конструкторов приняты в языке C#? 22.Каким значением инициализируются по умолчанию переменные ссылочного типа? 23.В каком случае по умолчанию не используется конструктор класса? 24.Приведите синтаксис конструктора класса в общем виде. Проиллюстрируйте его фрагментом программы на языке C#. 25.Что понимается под термином «деструктор»? 26.В чем состоит назначение деструктора? 27.Приведите синтаксис деструктора класса в общем виде. Проиллюстрируйте его фрагментом программы на языке C#. 28.Что понимается под термином «наследование»? 29.Что общего имеет дочерний класс с родительским? 30.В чем состоит различие между дочерним и родительским классами? |