Студопедия КАТЕГОРИИ: АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Распределение частей класса по файлам
Описание заголовочной части и части реализации класса можно разместить в одном фале или разнести в двух файлах. Рекомендуется разместить описание класса в двух файлах. Для размещения заголовочной части описания класса используется файл с наименованием класса и расширением «.h». Для размещения части реализации описания класса используется файл с наименованием класса и расширением «.cpp». В начало файла с расширением «.cpp» надо добавить инструкцию: #include “имя_класса.h”
Описание класса можно разместить в одном файле. Заголовочная часть должна располагаться перед описанием части реализации. Рекомендуется в качестве наименования файла использовать имя класса, а расширение «.h».
Взаимодействие с объектом
Обращение к объекту для выполнения определенного метода (реакции)инициируется по: 1. Внешнему событию. 2. Внутреннему событию. 3. Сигналу. 4. Непосредственным вызовом метода объекта.
Реализация парадигмы ООП
Требования парадигмы объектно-ориентированного программирования в языке С++ реализовано посредством определенных синтаксических конструкций и механизмов. Элементы языка С++ для построения программ согласно парадигме ООП(Таблица 4)
Дерево иерархии объектов
Дерево иерархии объектов формируется согласно архитектуре программы. Корнем (root) дерева является объект класса приложение. Относительно корня, каждый объект имеет свою координату на дереве объектов. Координатой является путь по именам объектов от корня до требуемого объекта. Для исключения неоднозначности, для каждого объекта необходимо задавать уникальное имя. Например, пусть имеется следующая иерархия объектов программы.
Вид координаты (идентификации) объекта ob_ 5 на дереве иерархии объектов будет следующим: /root/ob_3/ob_4/ob_5
4. Фрагменты программной реализации на языке С++ Базовый класс
Для конструктивного построения программы, необходимо создать абстрактный класс базового объекта. Все используемые в программной реализации классы должны по иерархии наследственности быть порождены от абстрактного класса базового объекта. Базовый класс должен содержать: − свойства: − наименование объекта; − ссылку на головной объект на дереве иерархии объектов; − перечень ссылок на объектов-потомков. − методы: − присвоитьимяобъекту; − получитьимяобъекта; − определить ссылку на головной объект; − добавить новый объект в перечне объектов-потомков; − получить ссылку на объект потомок по имени объекта; − удалить объект из перечня объектов-потомков.
Примерная заголовочная часть базового класса.
#include <iostream> #include <string> #include <vector>
using namespace std;
class cl_base { public: cl_base ( cl_base * p_parent = 0 );
void set_object_name ( string object_name ); string get_object_name ( ); void set_parent ( cl_base * p_parent ); void add_child ( cl_base * p_child ); void delete_child ( string object_name ); cl_base * get_child ( string object_name ); cl_base * get_object ( string object_path );
vector<cl_base * >children; // ссылки на подчиненныеобъекты vector < cl_base * > :: iterator it_child;
private: string object_name; // наименование объекта cl_base * p_parent; // ссылка на головной объект };
Класс приложение
Класс приложения базируется на класс базового объекта. Класс содержит: − методы: − построить дерево иерархии объектов; − запустить приложение; − вывести дерево иерархии объектов на консоль.
Примерная заголовочная часть класса приложения.
#include "cl_base.h"
class cl_application : public cl_base { public: cl_application ( );
void bild_tree_objects ( ); imt exec_app ( );
void show_object_tree ( );
private: void show_object_next ( cl_base * ob_parent, int i_level );
};
Вид вывода на консоль дерева иерархии объектов. root ob_1 ob_2 ob_3 ob_4 ob_5 ob_6 ob_7
Основная функция main
Основная функция реализует стандартный алгоритм. 1. Создать объект приложение. 2. Построить дерево объектов. 3. Запустить приложение.
#include <iostream>
using namespace std;
#include "cl_application.h"
int main() { cl_applicationob_application; // объявление объекта приложение
ob_application.bild_tree_objects ( ); // созданиеисходного дереваобъектов
returnob_application.exec_app ( ); // запуск функционирования системы }
Отчет по лабораторной работе Общие пояснения Отчет состоит из: 1. Титульного листа лабораторной работы. 2. Содержания.
Содержание представлено в виде следующих разделов и пунктов: 1. Постановка задачи. 2. Методы и объекты. 3. Архитектура программы-системы. 3.1. Иерархия объектов. 3.2. Взаимодействие объектов. 3.3. Алгоритм функционирования системы, решение задачи. 4. Схемы. 4.1. Схема иерархии наследования классов. 4.2. Схема архитектуры программы. 4.3. Схема взаимодействия объектов. 4.4. Схема алгоритма решения задачи 5. Код программы. 5.1. Код описания классов . 5.2. Код конструирования системы. 5.3. Код взаимодействия объектов. 5.4. Код алгоритма решения задачи. 6. Тестирование. 7. Инструкция для пользователя.
К данной методике прилагается пример оформления отчета лабораторной работы.
Пояснения к разделу «Постановка задачи»
Раздел содержит описание постановки задачи. Дается описание системы. Определяется задача или задачи, решаемые системой. Приводятся требования к объектам системы и к самой системе. Описываются входные и выходные данные системы.
Пояснения к разделу «Методы и объекты»
Раздел содержит перечень описания используемых методов. Содержит перечень и описание используемых для конструирования системы объектов. Описание объектов представляется посредством таблицы5:
Столбец «№» - содержит нумерацию объектов. Столбец «Объект» - содержит наименование объекта отражающее его назначение. Столбец «Пояснение» - содержит: описание объекта, состав свойств, функциональные возможности; наименование класса описания объекта в программной реализации.
Пояснения к разделу «Архитектура программы-системы»
Раздел содержит множество пунктов: − Иерархия объектов. − Взаимодействие объектов. − Алгоритм функционирования системы, решение задачи.
|
||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2018-05-10; просмотров: 225. stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда... |