Файл: Практическое задание 4.pdf

Добавлен: 20.10.2018

Просмотров: 345

Скачиваний: 8

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

 

 

Практическое задание 4. Разработка классов для графических 

объектов на основе композиционного взаимодействия 

Постановка задачи. 

Требуется разработать небольшую библиотеку классов для графических 

объектов,  взаимодействующих  на  основе  композиции.  Исходные  данные  – 

созданные  при  выполнении  задания  1  классы  для  объектов  Окружность  и 

Прямоугольник.  Библиотека  должна  включать  следующий  минимальный 

набор классов (см. раздел 5 пособия): 

  класс точек 

  класс окружностей, использующий класс точек 

  класс прямоугольников, также использующий класс точек 

  класс простой детали, состоящей из окружности внутри 

прямоугольника 

Порядок выполнения работы: 

1. Изучить материал раздела 5 пособия 

2. Открыть ранее созданный проект (модули с классами Окружность и 

Прямоугольник и модуль-форма для тестирования методов этих классов) и 

сохранить его в новом каталоге для внесения необходимых изменений 

3. Добавить в проект новый модуль для класса точек, и в этом классе ввести: 

 

два закрытых свойства для хранения координат точки; 

 

конструктор  для  инициализации  свойств-координат  и  вывода 

сообщения  о  создании  объекта  (это  будет  использоваться  в 

дальнейшем  для  проверки  правильности  вложенных  вызовов 

конструкторов взаимодействующих классов); 

 

методы доступа к координатам точки. 

4. Внести следующие изменения в ранее созданный класс Окружность

 

заменить свойства-координаты центра одним объектным свойством 

для хранения указателя на объект-точку; 


background image

 

 

 

реализовать  два  конструктора,  которые  кроме  стандартных 

операций  выполняют  дополнительно  вывод  сообщения  о  создании 

объекта-окружности; 

 

в  методе  прорисовки  окружности  вместо  прямого  использования 

координат  центра  применить  вызовы  соответствующих  методов 

доступа из класса точек; 

 

в  методе  перемещения  окружности  заменить  прямую  установку 

новых  значений  координат  вызовом  соответствующего  метода 

доступа класса точек.  

5.  Проверить  работу  приложения,  обратив  внимание  на  порядок  создания 

объектов.  

6. Внести следующие изменения в ранее созданный класс Прямоугольник

 

заменить  свойства-координаты  левого  верхнего  угла  одним 

объектным свойством для хранения указателя на объект-точку; 

 

реализовать  два  конструктора,  которые  кроме  стандартных 

операций  выполняют  дополнительно  вывод  сообщения  о  создании 

объекта-прямоугольника; 

 

реализовать  методы  прорисовки  и  перемещения  прямоугольника 

аналогично методам класса окружностей (с использованием методов 

доступа к координатам точки); 

7.  Проверить  работу  приложения,  обратив  внимание  на  порядок  создания 

объектов.  

8. Добавить в проект новый модуль для класса Деталь; класс должен содержать 

два  объектных  свойства-указателя  на  окружность  и  прямоугольник,  два 

конструктора  с  выводом  сообщения,  а  также  методы  прорисовки  и 

перемещения.  

9. Проверить правильность работы методов класса Деталь