Объектно-ориентированное программирование на языке С++
Краткое сожержание материала:
Размещено на
1
Институт Информационных технологий
Кафедра Математическое и программное обеспечение ЭВМ
КУРСОВАЯ РАБОТА
по дисциплине Объектно-ориентированное программирование
на тему "Объектно-ориентированное программирование на языке С++"
Выполнил
студент группы 1ИС 310
Шидловская Валерия Игоревна
Череповец, 2014
Оглавление
- Введение
- 1. Общие сведения
- 2. Функциональное назначение
- 3. Объектно-ориентированный анализ предметной области
- 4. Описание логической структуры программы
- 5. Используемые технические средства
- 6. Вызов и загрузка
- 7. Входные данные
- 8. Выходные данные
- 9. Тестирование программы
- Заключение
- Список используемой литературы
- Приложения
Введение
Данный программный продукт предназначен для обработки предметной области "Бытовая техника". В ходе разработки были использованы принципы и возможности объектно-ориентированного программирования. При его разработке была создана иерархия родственных классов предметной области, реализована работа виртуальных и чисто виртуальных функций, а также класс интерфейс.
В расчетно-пояснительной записке описано функциональное назначение данного программного продукта, его логическая структура, а также принцип работы программы.
1. Общие сведения
Программа предназначена для обработки информации об объектах предметной области "Бытовая техника".
В программе использовались следующие концепции ООП:
· механизм наследования;
· принцип инкапсуляции;
· перегрузка операторов.
Для обработки объектов в программе предусмотрены функции добавления, удаления, сортировки, копирования и поиска по полям, выбранным пользователем.
Разработка программного продукта была произведена с использованием средств языка С++ в среде визуального программирования C++ Builder 6.0 в операционной системе Windows 7.
2. Функциональное назначение
Программа предназначена для обработки данных, относящихся к предметной области "Бытовая техника" и выполняет следующие возможности:
- ввод данных с клавиатуры;
- сохранение данных в файл;
- загрузка данных из файла;
- просмотр данных об объектах выбранного класса;
- сортировка данных по полю "Цена"(по возрастанию/убыванию);
- сравнение объектов класса по полю "Цена";
- копирование данных;
- поиск данных по названию элемента интерьера.
3. Объектно-ориентированный анализ предметной области
Для описания предметной области разработана следующая иерархия классов (рис.1):
Рис. 1. Иерархия родственных классов
Класс-интерфейс (абстрактный базовый класс) содержит объявление чисто виртуальных функций (или отложенных методов). В данном случае, это функция печати print(). Объявляется такая функция в открытой части класса.
Производный от АБК класс - базовый класс Бытовая техника - содержит общие характеристики элементов бытовой техники, такие как название, мощность, цена.
Эти поля размещены в защищенном блоке protected для того, чтобы быть доступными для всех классов-потомков. Доступ к полям базового класса осуществляется с помощью методов, объявленных в блоке public. В базовом классе реализованы: конструктор по умолчанию, с параметрами и копирующий конструктор, функция вывода данных на экран.
Классы Замораживающая техника, Пылесосы, Микроволновые печи являются производными для БК. Механизм наследования - одиночный. Каждый производный класс содержит элементы родительского класса и при этом включает собственные, присущие только ему характеристики.
Класс Замораживающая техника содержит 2 числовые характеристики - "Максим. температура" и "Количество камер" и в свою очередь имеет 2 производных класса со своими характеристиками:
-Морозильные камеры ("Расположение");
-Холодильники ("Схема компоновки");
Класс Пылесосы имеет числовые характеристики "Объём пылесборника", "Мощность всасывания", "Количество насадок" и не имеет производных классов.
Класс Микроволновые печи (СВЧ) содержит одну строковую характеристику - "Тип".
В программе создаются объекты классов Морозильные камеры, Холодильники, Пылесосы, Микроволновые печи. Внутри этих классов содержатся функции файлового ввода / вывода, перегруженные операторы присваивания, сравнения, а виртуальная функция вывода описана в соответствии с компонентными данными каждого класса.
4. Описание логической структуры программы
Программа одномодульная, содержащая в себе описание классов, создание объектов и осуществление работы с ними.
Для создания иерархии родственных типов используется механизм одиночного наследования. Количество уровней в иерархии - 4.
В программе предусмотрены следующие компонентные функции:
· load - загрузка из файла, при этом необходимо передать в качестве формального параметра файл - источник, таблица для вывода, номер строки;
· save - сохранение в файл, в качестве формального параметра указывается файл - приемник;
· clear - очищает файл перед записью;
· operator = - перегруженный оператор присваивания, используется для присвоения объектов;
· оperator == - перегруженный оператор сравнения[1];
Добавление записей производится вручную с клавиатуры или при загрузке из файла. Выбрав нужный класс и заполнив все поля, нажимаем "Добавить". Данные заносятся в соответствующую таблицу. При нажатии на кнопку "Сохранить" данные перезаписываются в файл.
При нажатии на кнопку "Загрузить" в таблицу заносятся данные в соответствии с выбранным классом, которые ранее были сохранены в файл.
При нажатии на кнопку "Сортировать" производится сортировка по возрастанию / убыванию по полю "Цена".
Кнопка "Сравнить" позволяет сравнить выведенные в таблицу объекты по "Цене" с заданными номерами.
При вызове функции print вызываются виртуальная функция print из класса interf. Так как данная функция - виртуальная, то работает механизм замещения, поэтому виртуальная функция замещается соответствующей функцией для производного класса.
Обработка исключительных ситуаций выполняется при добавлении информации в таблицы: осуществляется проверка на соответствие типов данных введенной информации и проверка на ввод пустого значения. Также в поля, где предусмотрен ввод чисел, невозможен ввод букв. При возникновении ошибки появляется соответствующее информационное сообщение[2].
5. Используемые технические средства
Системные средства:
1) операционные системы:
· Windows XP;
· Windows 7;
· Windows 8.
2) аппаратные средства:
· клавиатура;
· мышь;
· монитор.
6. Вызов и загрузка
Для запуска программы необходимо запустить файл с расширением .exe , затем появится главное окно программы.
7. Входные данные
Входными данными данной программы является информация, введенная с клавиатуры в соответствующие поля либо загруженная из текстового файла. Типы вводимой информации должны соответствовать типам, представленным в таблицах.
Таблица 1.
Морозильные камеры.
Входные данные |
Тип данных |
|
Название |
String |
|
Мощность |
Integer |
|
Цена |
Integer |
|
Максим. Те...
Другие файлы:
Введение в объектно-ориентированное программирование Объектно-ориентированное программирование: Язык Smalltalk. Учебное пособие для вузов Объектно-ориентированное программирование на языке С++ Программирование на языке C++. Самоучитель Объектно-ориентированное программирование |