ВУЗ: Университет управления «ТИСБИ»
Категория: Методичка
Дисциплина: Объектно-ориентированное программирование
Добавлен: 20.10.2018
Просмотров: 427
Скачиваний: 6
Практическое задание 9. Создание и использование универсального
контейнера для графических объектов на основе адресного списка
Постановка задачи.
Спроектировать и реализовать объект-контейнер для хранения и
обработки любых графических объектов, объединенных общей иерархией.
Основа контейнера – адресный список полиморфных объектных
переменных-ссылок на графические объекты. Объект-контейнер должен
выполнять стандартный набор операций: добавление и удаление объектов,
поиск и циклическую обработку всех объектов в контейнере.
Дополнительно необходимо реализовать операции выборочной обработки
объектов в контейнере, такие как перемещение только криволинейных
объектов, перемещение только прямоугольных объектов и т.д. Для
проверки реализованных методов создать тестирующую программу с
простым графическим интерфейсом.
Исходные данные:
реализованная при выполнении задания 7 библиотека графических
объектов с виртуальными методами
реализованный при выполнении задания 5 адресный контейнер для
однотипных объектов (окружностей)
Порядок выполнения работы:
1. Изучить материал разделов 9 и 10 пособия, после чего открыть проект,
в котором был реализован адресный контейнер для однотипных объектов
и сохранить его в новом каталоге
2. Удалить из проекта модуль, в котором реализован класс окружностей и
добавить модуль (модули), содержащий библиотеку классов для
графических объектов (минимальный набор классов должен включать
следующие классы: корневой класс Фигура, дочерние классы
Окружность и Прямоугольник, дочерний класс Эллипс).
3. В разделе интерфейса модуля-контейнера подключить модуль
(модули) с библиотекой классов для графических объектов
4. В описании контейнерного класса заменить конкретный классовый
тип (например TCircle) на общий корневой классовый тип TFigure
5. Добавить в контейнерный класс второй конструктор, который
заполняет весь список случайным набором графических объектов. Для
этого организуется цикл, в котором генерируется случайное число со
значениями 0, 1 или 2, по которому с помощью оператора выбора
выполняется вызов конструктора для создания одного из трех возможных
графических объекта (окружность, прямоугольник, эллипс).
6. Для демонстрации возможностей контейнера предусмотреть следующие
команды:
создать пустой контейнер
создать контейнер, заполненный случайными объектами
добавить новый объект
удалить объект
переместить весь набор объектов
7. Написать обработчики всех команд, код которых сводится к вызову
соответствующего метода контейнера и выводу информационного
сообщения.
8. Сохранить проект и проверить его работу.
9. Добавить в контейнерный класс дополнительные методы