Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Краткие теоретические сведения
В языке UML отношение наследования на диаграмме классов обозначается сплошной линией с незакрашенной стрелкой на конце, направленной от класса-потомка к классу-предку (рис. 3.1).
Рис. 3.1. Изображение отношения обобщения на UML -диаграмме
В качестве примера отношения обобщения рассмотрим отношение между базовым классом Человек и производными классами Рис. 3.2. Отношение обобщения между классами Человек и Студент В базовом классе Человек в качестве атрибутов указаны общие для всех людей характеристики: возраст, фамилия, имя, отчество, записанные как защищенные с тем, чтобы их можно было унаследовать Порядок выполнения работы
1. Изучить теоретические сведения и примеры, представленные в гл. 8 «Наследование» учебного пособия В. В. Вдовенко «Разработка приложений на языке С #»(см.с. 167–187). 2. Изучить возможности языка UML для представления классов. 3. Ответить на контрольные вопросы. 4. Разработать классы в соответствии с вариантом практического задания и создать консольное приложение. 5. Разработать UML -диаграмму классов для созданного приложения 6. Составить отчет в электронном виде, который должен содержать титульный лист, цель лабораторной работы, задание, ответы на контрольные вопросы, листинг программы и результаты ее работы. Контрольные вопросы и задания 1. Дайте определение простого наследования классов. 2. Запишите объявление производного класса на языке C#. 3. В чем состоит различие между базовым и производным классами? 4. Приведите синтаксис описания наследования классов 5. Может ли производный класс использоваться в качестве 6. В каком порядке вызываются конструкторы в иерархии классов? 7. Каким образом выполняются создание и инициализация объектов производного класса? 8. Какие функции называются виртуальными? Могут ли методы-свойства класса быть виртуальными?
9. Какие особенности синтаксиса записи виртуальных функций в базовом и производных классах вам известны? 10. Опишите обработку вызова виртуальной функции. 11. Какой принцип ООП реализуется с помощью виртуальных функций? 12. Дайте определение абстрактного класса. Можно ли создавать объекты абстрактного класса? 13. Какой класс библиотеки FCL является базовым для всех 14. Каким образом можно выполнить замещение методов класса System. Object в производных классах? 15. В чем состоят особенности доступа к членам класса, объявленным со спецификатором protected? 16. Каким образом отношение наследования обозначается на диаграммах классов в языке UML? 17. Найдите в приведенном ниже фрагменте программы ошибки, связанные с реализацией механизма наследования классов и исправьте их: class A{ int x = 1; } class B: A { int y = 2; void show_sum() { Console.WriteLine("x + y =" + x + y); } } Варианты практических заданий При выполнении этих заданий требуется написать законченную программу, в которой реализуется простое наследование классов. 1. Создать абстрактный класс Vehicle (транспортное средство).
2. Создать иерархию классов Person – Student – Teacher. Каждый класс должен содержать свойства, а также виртуальную функцию Print и переопределенную функцию ToString(). Основная программа должна создавать массив объектов Person или их наследников, после чего выдавать его на экран. У каждого объекта класса Teacher должен быть список объектов класса Students, которыми он руководит, 3. Создать абстрактный класс Персона. На его основе реализовать классы Студент, Преподаватель, Заведующий кафедрой. Класс Персона должен содержать атрибуты и методы, общие для производных классов. Основная программа должна создавать массивы объектов производных классов и выводить их на экран. 4. Создать абстрактный класс Персона. На его основе реализовать классы Служащий, Рабочий, инженер. Класс Персона должен содержать атрибуты и методы, общие для производных классов. Основная программа должна создавать массивы объектов производных классов и выводить их на экран. 5. Создать иерархию классов Кадры–Рабочий–Инженер–Администрация. В каждом классе должны быть свойства, а также виртуальная функция Print и переопределенная функция ToString(). Основная программа должна создавать массивы объектов производных классов и выводить их на экран. 6. Создать иерархию классов Организация–Страховая компания–Завод. Классы должны содержать поля для описания свойств объектов и методы для работы с ними. Основная программа должна создавать массивы объектов производных классов и выводить их на экран. 7. Создать иерархию классов Печатное издание–Книга–Учебник–Журнал. Классы должны содержать поля для описания свойств объектов и методы для работы с ними. Основная программа должна создавать массивы объектов производных классов и выводить их на экран. 8. Создать абстрактный класс Испытание. На его основе реализовать классы Тест, Экзамен, Выпускной экзамен. Класс Испытание должен содержать атрибуты и методы, общие для производных классов. Основная программа должна создавать массивы объектов производных классов и выводить их на экран. 9. Создать иерархию классов Товар–Игрушка–Продукт–Молочный продукт. Класс Товар должен содержать атрибуты и методы, общие для производных классов. Основная программа должна создавать массивы объектов производных классов и выводить их на экран. 10. Создать абстрактный класс Документ. На его основе реализовать классы Квитанция, Накладная, Счет. Класс Документ должен содержать атрибуты и методы, общие для производных классов. Основная программа должна создавать массивы объектов производных классов и выводить их на экран. 11. Создать абстрактный класс Транспортное средство. На его основе реализовать классы Автомобиль, Поезд, Экспресс. Класс Транспортное средство должен содержать атрибуты и методы, 12. Создать иерархию классов Двигатель, Двигатель внутреннего сгорания, Дизель, Реактивный двигатель. Класс Двигатель должен содержать атрибуты и методы, общие для производных классов. Основная программа должна создавать массивы объектов производных классов и выводить их на экран.
13. Создать абстрактный класс Государство. На его основе реализовать классы Республика, Монархия, Королевство. Класс Государство должен содержать атрибуты и методы, общие для производных классов. Основная программа должна создавать массивы объектов производных классов и выводить их на экран. 14. Создать абстрактный класс Животное. На его основе реализовать классы Млекопитающее, Парнокопытное. Класс Животное должен содержать атрибуты и методы, общие для производных классов. Основная программа должна создавать массивы объектов производных классов и выводить их на экран. 15. Создать иерархию классов Корабль–Пароход–Парусник– Корвет. Класс Корабль должен содержать атрибуты и методы, общие для производных классов. Основная программа должна создавать массивы объектов производных классов и выводить их на экран. 16. Создать иерархию классов Автомобиль–Грузовик–Автобус–Легковой автомобиль. Базовый класс Автомобиль должен содержать атрибуты и методы, общие для производных классов. 17. Создать абстрактный класс Помещение. На его основе реализовать классы Учебная аудитория–Кабинет–Спортзал. Класс Помещение должен содержать атрибуты и методы, общие для производных классов. Основная программа должна создавать массивы объектов производных классов и выводить их на экран. 18. Создать иерархию классов геометрических фигур 19. Создать абстрактный класс Вычислительная сеть. На его основе реализовать классы Локальная сеть, Глобальная сеть. Класс Вычислительная сеть должен содержать атрибуты и методы, общие для производных классов. Основная программа должна создавать массивы объектов производных классов и выводить их на экран. 20. Создать абстрактный класс Программный продукт. На его
21. Создать иерархию классов Электронная вычислительная 22. Создать абстрактный класс Оплата услуг. На его основе реализовать классы Оплата за телефон, Оплата за квартиру, Оплата за электроэнергию. Класс Оплата услуг должен содержать атрибуты и методы, общие для производных классов. Основная программа должна создавать массивы объектов производных классов и выводить их на экран. 23. Создать иерархию классов Выпускник вуза, Бакалавр, Магистр, Инженер. Класс Выпускник вуза должен содержать атрибуты и методы, общие для производных классов. Основная программа должна создавать массивы объектов производных классов и выводить их на экран. 24. Создать классы библиографических описаний книг СВоо k, 25. Создать класс Рoint (точка), а также классы R ectangle (прямоугольник) и Circle (окружность), как потомки класса Рoint. Класс Рoint должен содержать атрибуты и методы, общие для обоих классов. Классы R ectangle и Circle должны содержать методы для вычисления площади этих фигур. Лабораторная работа 4
|
||||||||||||
Последнее изменение этой страницы: 2022-09-03; просмотров: 150; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.2.184 (0.014 с.) |