4966
.pdf91
Пример№5
Таблица 5 − Инкапсуляция класса с перегружаемыми конструкторами
Операторы на языке С++ Операторы на |
Комментарии |
|
языке С++ (модуль ABC2.h) |
|
|
|
|
|
Class ABC2 |
|
|
|
|
|
{ |
|
|
|
|
|
private: |
int x,y,z,w; |
|
|
|
|
Public: |
ABC2(); |
Метод-конструктор без |
|
|
параметров |
|
|
|
ABC2(int, int); |
Метод-конструктор |
|
|
|
инициализации списком |
|
|
|
}; |
|
|
|
|
|
ABC2::ABC2() |
Реализация конструктора |
|
|
|
№1 вне тела класса |
|
|
|
{cout<<"Input the value of ABC.x"<<endl; |
|
|
cin>>x; |
|
|
|
|
|
cout<<"Input the value of ABC.y"<<endl; |
|
|
cin>>y; |
|
|
|
|
|
Cout<<"This is value of |
|
|
ABC.х"<<x<<endl; |
|
|
|
|
|
Cout<<"This is value of |
|
|
ABC.y"<<y<<endl; |
|
|
} |
|
|
|
|
|
ABC2::ABC2(int a,int b):z(a),w(b) |
Реализация конструктора |
|
|
|
№2 вне тела класса |
|
|
|
{ |
|
|
cout<<"z="<<z<<endl; |
|
|
cout<<"w="<<w<<endl; |
|
|
} |
|
|
|
|
|
В таблицах 1,2,3,4,5 приведено описание инкапсуляций классов различного назначения. В таблице 6 приведён пример исполняемой программы, в которой используются все инкапсулированные классы.
92
Пример №6
Таблица 6 − Создание экземпляров классов в программе
Операторы на языке С++ |
Комментарии |
(модуль main.cpp) |
|
|
|
# include “ABCclose.h” |
Подключение модулей интерфейсов классов |
# include “ABCopen.h” |
|
# include “ABC.h” |
|
# include “ABC1.h” |
|
# include “ABC2.h” |
|
|
|
Void main(void) |
Точка входа в программу |
|
|
{ |
|
|
|
ABCclose abc; |
Cоздание объекта |
|
|
abc.putPart(); |
Вызов функции принадлежащей классу ABCclose |
|
|
abc.getPart(); |
Вызов функции принадлежащей классу ABCclose |
|
|
ABCopen def; |
Создание объекта |
|
|
def.putPart(); |
Вызов функции принадлежащей классу ABCopen |
|
|
def.getPart(); |
Вызов функции принадлежащей классу ABCopen |
|
|
ABC obj; |
Создание объекта без передачи сообщения, |
|
инициализация данных посредством ввода с |
|
клавиатуры |
|
|
ABC1 obj1(1,2); |
Создание объекта с передачей сообщения, |
|
инициализация данных посредством конструктора |
|
со списком |
|
|
ABC2 obj2; |
Инициализация только части данных класса |
|
посредством ввода с клавиатуры |
|
|
ABC2 obj21(7,8); |
Создание объекта с передачей сообщения, |
|
инициализация только части данных класса |
|
|
ABC2 obj22=obj21; |
Создание нового объекта класса посредством |
} |
клонирования (копирования) ранее созданного |
|
объекта, при этом инициализированы только две |
|
из 4 переменных объекта: "z"и "w" |
|
|
93
Словарь терминов
R
RUP − (от англ. Rational Unified Process) − унифицированный процесс разработки программного обеспечения, созданной компанией Rational Software.
U
UML − (Unified Modeling Language) − унифицированный язык моделирования, предназначенный для визуализации, специфицирования, конструирования и документирования артефактов программных систем.
А
Анализ – метод изучения ситуации, проблемы, состоящий в мысленном или фактическом разложении целого на составные части, выявлении и сопоставлении свойств и характеристик объектов.
Б
Библиотеки – сборники подпрограмм, интерфейсов классов и(или) реализаций классов в виде программных модулей предназначенных для решения близких по тематике задач.
Д
Динамическое поведение − описывает поведение системы во времени, которое можно определить как ряд изменённых статических состояний системы. Диаграмма − графическое представление совокупности графических примитивов, имеющих чёткую семантику; изображается в виде графа с вершинами (сущностями) и ребрами (отношениями).
Ж
Жизненный цикл информационной системы — период времени, который начинается с момента принятия решения о необходимости её создания и заканчивается прекращением эксплуатации.
И
Информационная система – совокупность взаимосвязанных аппаратнопрограммных средств, предназначенных для автоматизации процессов получения (ввода или сбора), хранения, поиска, передачи и обработки (преобразования) информации.
Инкапсуляция – это объединение данных с соответствующими операциями, работающими с этими данными. Инкапсуляция предполагает: структурирование данных внутри класса; определение возможных операций для манипуляций с данными; установление прав доступа к данным и операциям.
94
Интероперабельность – способность системы к взаимодействию с другими системами.
Интерфейс – средство обеспечения взаимодействия систем (программа – программа; программа – пользователь; прикладная программа – операционная система).
Инфологическое моделирование – формализация объектов предметной области и методов обработки информации в соответствии с поставленными задачами обработки и требованиями представления данных естественными для человека способами сбора и представления информации.
Итерация – организация обработки данных, при которой некоторые операции повторяются многократно, не приводя при этом к вызовам самих себя.
К
Компиляция – процесс трансляции (преобразования) исходного кода программы с проблемно-ориентированного языка на машинно-ориентированный язык и создания объектных модулей.
Компоновка – процесс объединения объектных модулей, разрешения перекрёстных ссылок и конфликтов имён, а также создания исполняемого модуля.
Корпоративная информационная система – масштабируемая информацион-
ная система, предназначенная для комплексной автоматизации (до 80%) видов хозяйственной деятельности совокупности предприятий с единым управлением.
Л
Лексема языка программирования – последовательность допустимых символов языка программирования, имеющая смысл для транслятора. Транслятор рассматривает программу как последовательность лексем.
М
Модель жизненного цикла – структура, состоящая из процессов, работ и задач, включающих в себя разработку, эксплуатацию и сопровождение программного продукта, охватывающая жизнь системы от установления требований к ней до прекращения её использования.
Морфологический подход – определение всех возможных вариантов решения проблемы или реализации системы и комбинирование выделенных структурных элементов или их признаков.
Н
Наследование – это возможность определения класса объектов таким образом, что становится возможным дальнейшее использование свойств этого класса в других, новых классах, построенных по принципу иерархии порождённых клас-
95
сов с возможностью для каждого порожденного класса, относящегося к иерархии, доступа к данным и операциям базового класса.
О
Объект – экземпляр класса, с точки зрения языка программирования объект является инициализированной переменной типа некоторого класса.
П
Парадигма – это совокупность идей и понятий, определяющая стиль написания программ, определяется набором инструментов программиста, языком программирования и используемыми библиотеками.
Полиморфизм – способ реализации изменчивости формы или действия объекта. Пользователь – лицо или организация, которое использует действующую систему для достижения конкретной цели.
Предметная область − область знаний или деятельности, исследуемая с целью автоматизации информационных процессов.
Прецедент − описание операций и участников некоторой бизнес-функции предметной области; применяется при формализации предметной области. Программно-аппаратное средство – сочетание технических устройств и машинных команд или используемых вычислительной машиной данных, постоянно хранящихся на техническом устройстве в виде постоянного программного средства.
Программный модуль – откомпилированная и отлаженная часть программного кода, существующая в виде файла.
Проектирование − определение подсистем и их взаимодействие.
Прототип − это класс-образец, по образу и подобию которого создаются другие объекты и классы.
Р
Роль − поведение сущности предметной области, участвующей в конкретном сценарии.
Рекурсия – вложенный вызов в функции самой себя.
Реализация – исходный код исполнения функций и(или) методов классов. Релиз программной системы – выпуск коммерческой версии программного продукта.
С
Связь − семантическое соединение между элементами модели.
Сигнатура − совокупность имени, типов и порядка следования формальных параметров операций класса.
96
Система – комплекс, состоящий из процессов, технических и программных средств, устройств и персонала, обладающий возможностью удовлетворять установленным потребностям или целям.
Сообщение − спецификация передачи информации между объектами в расчёте на то, что за этим последует некоторая деятельность; приём сообщения обычно трактуется как возникновение события.
Сущность предметной области − обобщённые наименования представителей реального мира, входящие в создаваемую модель исследуемой области, в роли которых выступают конкретные представители (например, счёт и акт это «документы»).
Сценарий − безальтернативная последовательность действий, приводящая к ожидаемому результату.
Т
Техническое задание – документ, используемый заказчиком в качестве средства для описания и определения задач, выполняемых при реализации договора (например, на разработку информационной системы).
Ф
Фактический параметр − значение аргумента функции или процедуры. Формальный параметр − аргумент функции или процедуры.
Фокус управления − (в UML) символ на диаграмме последовательностей, показывающий промежуток времени, в течение которого объект выполняет некоторое действие непосредственно или путём вызова подчинённой операции. Функциональные требования − условия или возможности, которыми должна обладать информационная система или системные компоненты, чтобы выполнить контракт или удовлетворять стандартам, спецификациям или другим формальным документам.
Э
Экземпляр − реализация абстракции (абстрактного типа данных, абстрактного описания элемента модели и т.д.), характеризуется конкретным состоянием, значениями атрибутов и конкретными операциями.
97
Библиографический список
1.Буч Г., Рамбо Д., Джекобсон А. Язык UML. Руководство пользователя.–
СПб. : Питер, 2004, 432 с.
2.Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на С++. 2-е изд.: пер. с англ. – М. : Издательство Бином; СПб. : Невский диалект, 1999.
3.Либерти Д., Джонс Б., Освой самостоятельно С++ за 21 день. 5-е изд.: пер. с англ.– М. : Издательский дом Вильямс, 2006, 784 с.
4.Кауфман В. Ш. Языки программирования. Концепции и принципы.– М. : Радио и связь, 1993. − 432с.
5.Павлов Ф. Ф. Высокоуровневые методы информатики и программирования : учеб. курс. спец. 351400 – Прикл. информатика (в экономике)/ СПбГИЭУ. –
СПб., 2001.
6.Бьярн Страуструп. Язык программирования С++. Часть первая : пер. с англ. – Киев : Диасофт, 1993. – 264 с.
7.Бьярн Страуструп. Язык программирования С++. Часть вторая : пер. с англ. – Киев : Диасофт, 1993. – 296 с.
8.Галковский А. В. Применение языка UML при объектно-ориентированном проектировании : метод. пособие для студ. Спец.310304 «Информатика» дневной формы обучения / А. В. Галковский. – Минск : БГУИР, 2004.− 36 с.
9.ГОСТ 34.602-89 Информационные технологии.
10.ГОСТ 19781-90 Обеспечение систем обработки информации. Термины и определения.
11.ГОСТ Р ИСО/МЭК 12207-99 Информационная технология. Процессы жизненного цикла программных продуктов.
12.Ларман, Крэг. Применение UML и шаблонов проектирования. 2-е изд.: пер.с
англ.–М. : Вильямс, 2004.– 624 с.
13.Бочков С. О., Субботин Д. М. Язык программирования Си для персонального компьютера. – М. : Радио и связь, 1990.– 384 с.
14.Фаулер М., Скотт К. UML. Основы. – СПб. : Символ-Плюс, 2002. – 192 с.
15.Шаллоуей А., Тротт Дж. Р. Шаблоны проектирования. Новый подход к объ- ектно-ориентированному анализу и проектированию. – М. : Вильямс, 2002. – 288 с.
16.Шмуллер Д. Освой самостоятельно UML за 24 часа. – М. : Вильямс, 2002. – 352 с.