ДЗ 3: Домашнее задание вариант 2
Описание
Задание № 1:
Композиция
Разработать и реализовать диаграмму классов для описанных объектов предметной области, используя механизм композиции. Протестировать все методы каждого класса. Все поля классов должны быть скрытыми (private) или защищенными (protected). Методы не должны содержать операций ввода/вывода, за исключением процедуры, единственной задачей которой является вывод информации об объекте на экран.
Объект – такси. Поля: номер автомобиля, количество пассажирских мест, наличие детского кресла, состояние (занят или свободен). Методы: процедура инициализации; процедура вывода информации на экран; процедура взятия заказа, изменяющая состояние на «занят»; процедура завершения заказа, изменяющая состояние на «свободен»; функция, определяющая, подходит ли данная машина для поступившего заказа (параметры заказа: число пассажиров и наличие среди них маленького ребенка); а также функции, возвращающие значения полей по запросу.
Объект – таксопарк. Включает в себя несколько машин. Методы должны позволять: инициализировать объект, выводить информацию обо всех машинах на экран, отправлять на вызов и снимать с вызова машину с заданным номером, определять номер подходящей для поступившего заказа машины (она должна быть свободна и удовлетворять параметрам заказа).
В отчете привести диаграмму разработанных классов и объектную декомпозицию.
Задача № 2: Qt. Полиморфное наследование
Разработать программу, содержащую описание трех графических объектов:
круг с вырезанной четвертью, эллипс, квадрат.
Реализуя механизм полиморфизма, привести объекты в одновременное вращение вокруг их геометрических центров с различными угловыми скоростями.
В отчете привести диаграмму используемых классов Qt и разработанных классов, граф состояний пользовательского интерфейса и объектную декомпозицию.