Курсовая работа: Класс "Грузовой лифт"
В контрольно-курсовой работе рассмотрена задача создания класса «грузовой лифт» и описания операций над данным классом. Эта задача была спроектирована с использованием концепций объектно-ориентированного программирования и реализована на языке программирования С++. Пояснительная записка содержит 26 листов, 5 рисунков и 3 использованных источника.
Содержание
Стр.
Введение........................................................................................................... 3
Постановка задачи.......................................................................................... 5
Построение абстрактной модели класса «грузовой лифт»........................... 6
2.1 Построение диаграммы классов............................................................... 9
2.2 Построение диаграммы модулей............................................................ 10
Структура класса «грузовой лифт»............................................................. 11
3.1Формальное описание класса.................................................................. 11
3.2 Описание структур данных..................................................................... 13
3.3 Инструкция программисту..................................................................... 21
Демонстрационная программа..................................................................... 22
4.1Текст программы...................................................................................... 22
4.2 Инструкция пользователю...................................................................... 22
Тестовый пример........................................................................................... 23
Заключение.................................................................................................... 25
Список использованных источников............................................................ 26
Введение
Объектно-ориентированное программирование – это новый подход к созданию программ. По мере развития вычислительной техники возникали разные методики программирования. На каждом этапе создавался новый подход, который помогал программистам справляться с растущим усложнением программ. Первые программы создавались посредством ключевых переключателей на передней панели компьютера. Очевидно, что такой способ подходит только для очень небольших программ. Затем был изобретён язык ассемблера, который позволял писать более длинные программы. Следующий шаг был сделан в 1950 году, когда был создан первый язык высокого уровня Фортран.
Используя язык высокого уровня, программисты могли писать программы до нескольких тысяч строк длиной. Для того времени указанный подход к программированию был наиболее перспективным. Однако язык программирования, легко понимаемый в коротких программах, когда дело касалось больших программ, становился нечитабельным (и неуправляемым). Избавление от таких неструктурированных программ пришло после изобретения в 1960 году языков структурного программирования. К ним относятся языки Алгол, Паскаль, и С. Структурное программирование подразумевает точно обозначенные управляющие структуры, программные блоки, отсутствие (или, по крайней мере, минимальное использование) инструкций GOTO, автономные подпрограммы, в которых поддерживается рекурсия и локальные переменные. Сутью структурного программирования является возможность разбиения программы на составляющие элементы. Используя структурное программирование, программист может создавать и поддерживать программы свыше 50000 строк длинной.
Хотя структурное программирование, при его использовании для написания умеренно сложных программ, принесло выдающиеся результаты, даже оно оказывалось несостоятельным тогда, когда программа достигала определённой длины. Чтобы написать более сложную программу, необходим был новый подход к программированию. В итоге были разработаны принципы объектно–ориентированного программирования. ООП аккумулирует лучшие идеи, воплощённые в структурном программировании, и сочетает их с мощными новыми концепциями, которые позволяют оптимально организовывать ваши программы. Объектно-ориентированное программирование позволяет вам разложить проблему на составные части. Каждая составляющая становится самостоятельным объектом, содержащим свои собственные коды и данные, которые относятся к этому объекту. В этом случае вся процедура в целом упрощается, и программист получает возможность оперировать с гораздо большими по объёму программами.
Все языки ООП основаны на трёх основополагающих концепциях, называемых инкапсуляцией, полиморфизмом и наследованием:
Инкапсуляция – это механизм, который объединяет данные и код, манипулирующий с этими данными, а также защищает и то, и другое от внешнего вмешательства или неправильного использования.
Полиморфизм – это свойство, которое позволяет одно и то же имя использовать для решения двух или более схожих, но технически разных задач. Целью полиморфизма, применительно к объектно-ориентированному программированию, является использование одного имени для задания общих для класса действий.
Наследование – это процесс, посредством которого один объект может приобретать свойства другого. Точнее, объект может наследовать основные свойства другого объекта и добавлять к ним черты, характерные только для него.
В контрольно-курсовой работе реализуем класс «грузовой лифт». Лифты можно подразделять по множеству признаков, например: грузовые и легковые, пассажирские и непассажирские и т. д. В данном случае будет написан класс для демонстрации работы лифта для перевозки груза в сопровождении человека. В качестве параметров работы лифта будут использованы: грузоподъёмность, политика обслуживания запросов (останавливаться ли на промежуточных этажах), количество этажей в здании и активация безопасного режима работы. Данный класс может быть использован в аппаратуре управления лифтом, т. к. может быть настроен на конкретные условия работы. В качестве демонстрационной программы покажем порядок выполнения запросов при разных настройках лифта и разных входных данных.
1. Постановка задачи
Требуется создать класс «лифт», в котором будет реализована базовая функциональность лифта, затем создать производный от него класс «грузовой лифт». Класс должен быть настраиваемым на конкретные условия работы. Параметрами такой настройки могут быть: количество этажей в здании, политика обслуживания запросов, грузоподъёмность лифта и т. д. Должны быть продуманы вопросы безопасности и оптимизации работы лифта.
2. Построение абстрактной модели
класса «грузовой лифт»
В начале работы создан базовый класс «лифт», реализующий основную функциональность лифта.
Параллельно с базовым классом создан класс «груз» со следующими членами класса:
· этаж, на котором находится груз;
--> ЧИТАТЬ ПОЛНОСТЬЮ <--