- •Составление программ с использованиемобъектно-ориентированного подхода
- •Теоретические сведения
- •Инкапсуляция
- •Наследование
- •Полиморфизм
- •Виртуальные методы
- •Конструкторы
- •Присваивание объектов
- •Пример программирования с использованием объектных типов
- •Лабораторное задание
- •Порядок выполнения лабораторной работы
- •Требования к отчету
- •Контрольные вопросы
Лабораторное задание
Воспроизведите на компьютере пример, описанный в лабораторной работе.
Создать модуль, содержащий иерархическое дерево объектных типов, указанное в вашем варианте в таблице. Используя созданный модуль, напишите демонстрационную программу, которая содержит процедуру с формальным параметром объектного типа, "стягивающую в точку" объект-прародитель и объект-наследник. Отладьте и выполните программу на компьютере.
Порядок выполнения лабораторной работы
1. При домашней подготовке внимательно изучить теоретические сведения, а также ознакомиться с примером программирования.
2. Создать проект для примера, описанного в лабораторной работе, и проверить его работоспособность
2. Создать проект для своего варианта задания.
3. Отладить проект и выполнить его на компьютере. Результаты показать преподавателю.
4. Оформить отчёт и защитить работу.
Требования к отчету
Отчёт должен содержать:
1) краткий конспект лабораторной работы;
2) отлаженную программу, составленную для своего варианта.
Контрольные вопросы
1. Как описывается объектный тип?
2. Что такое инкапсуляция?
3. В чём заключается процесс наследования?
4. Какое свойство родственных объектных типов называется полиморфизмом?
5. Что такое раннее и подзнее связывания?
6. В чём различие между статическими и виртуальными методами?
7. Что такое таблица виртуальных методов VMT и для чего нужны конструкторы?
8. Объясните правило использования оператора присваивания для экземпляров объектов-родственников.
9. Может ли формальный параметр процедуры иметь объектный тип? Какой тип фактического параметра допускается в этом случае?
Таблица
Варианты заданий
+--------------------------------------------------------------+
¦Варианты¦ Иерархическое дерево объектных типов ¦
+--------+-----------------------------------------------------¦
¦ 1,10,19¦ Точка - Эллипс - Закрашенный эллипс ¦
+--------+-----------------------------------------------------¦
¦ 2,11,20¦ Точка - Квадрат - Закрашенный квадрат ¦
+--------+-----------------------------------------------------¦
¦ 3,12,21¦ Точка - Ромб - Закрашенный ромб ¦
+--------+-----------------------------------------------------¦
¦ 4,13,22¦ Точка - Прямоугольник - Закрашенный прямоугольник ¦
+--------+-----------------------------------------------------¦
¦ 5,14,23¦ Точка - Полукруг - Закрашенный полукруг ¦
+--------+-----------------------------------------------------¦
¦ 6,15,24¦ Точка - Полуэллипс - Закрашенный полуэллипс ¦
+--------+-----------------------------------------------------¦
¦ 7,16,25¦ Точка - Прямоугольный треугольник - Закрашенный ¦
¦ ¦ прямоугольный треугольник ¦
+--------+-----------------------------------------------------¦
¦ 8,17,26¦ Точка - Равносторонний треугольник - Закрашенный ¦
¦ ¦ равносторонний треугольник ¦
+--------+-----------------------------------------------------¦
¦ 9,18,27¦ Точка - Кольцо - Закрашенное кольцо ¦
+--------------------------------------------------------------+