Билет №17
-
Стандартизация информационных технологий. Классификация стандартов. Понятия и определения.
-
Деструкторы. Назначение, синтаксис, понятия и определения.
-
Интерфейсы. Свойства, применение. Производные интерфейсы.
1.
Стандартизация в области информационных технологий. |
Первооснова построения информационного общества, электронного распространения информации и знаний - информационные и коммуникационные технологии. Основная роль в развитии информационного общества принадлежит международным стандартам, создаваемым на основе шести принципов, определенных Всемирной торговой организацией (ВТО): открытость, прозрачность, непредвзятость и соблюдение консенсуса, эффективность и целесообразность, согласованность и нацеленность на развитие. В связи с этим в России приобретают особую важность и актуальность работы по развитию и совершенствованию отечественной нормативной базы в области информационных технологий и информационно-телекоммуникационных систем. Создание и внедрение информационно- телекоммуникационных систем (ИС) различных уровней и назначений на основе использования современных информационных технологий (ИТ), интеграции информационных, вычислительных, телекоммуникационных ресурсов и применения технологии открытых систем - это сложная, комплексная, межотраслевая, многоплановая и многоаспектная проблема. В ее решении одно из ключевых мест занимает стандартизация в области ИТ и прежде всего внедрение методов функциональной стандартизации. Эти методы позволяют с помощью функциональных стандартов и профилей (включая профили на конкретные проекты ИС) идентифицировать группы базовых стандартов вместе с факультативными возможностями, требованиями и параметрами, необходимыми для выполнения функций, реализуемых конкретными ИС в разных предметных областях деятельности. В настоящее время подавляющее большинство ИС всех классов и назначений строятся на основе технологии открытых систем. Ее суть состоит в использовании стандартных интерфейсов между разнородными аппаратными и программными компонентами систем. Технология открытых систем лежит в основе создания инфраструктуры всех уровней - от предприятия и отрасли до национальной информационной инфраструктуры. Кроме того, она обеспечивает интеграцию с мировым информационным пространством и, тем самым, с мировой экономикой. Внедрение принципов открытых систем на всех этапах жизненного цикла проектирования ИС базируется на стандартизации информационных технологий, являющейся интеграционным механизмом и мощным средством управления процессами развития информатизации. Научно - техническая политика в области стандартизации информационных технологий и проектирования систем в России заключается в следующем: I. создание необходимых актуализированных основополагающих базовых национальных стандартов и других нормативных документов (путем прямого применения международных, региональных и зарубежных документов по стандартизации), определяющих фундаментальные общие процедуры, положения и требования, которые могут быть использованы в различных предметных областях деятельности, причем в каждой из них могут выбираться собственные факультативные параметры и требования из базовых национальных стандартов; II. разработка функциональных стандартов (профилей), определяющих соответствующие подмножества или комплектации базовых национальных стандартов, используемых для обеспечения реализаций конкретных процессов, функций и задач ИС, применимость конкретных факультативных параметров из базовых национальных стандартов, а также являющихся основой для разработки аттестационных тестов для испытаний и подтверждения соответствия компонентов и средств информационных систем. |
2. Деструкторы. Назначение, синтаксис, понятия и определения.
При написании длинных программ в некоторых частях программы обычно требуется инициализация. Необходимость в инициализации еще более часто проявляется при работе с объектами.
Действительно, если обратиться к реальным проблемам, то, фактически, для каждого создаваемого вами объекта требуется какого-то вида инициализация. Для разрешения этой проблемы в C++ имеется функция-конструктор(constructor function), включаемая в описание класса. Конструктор класса вызывается всякий раз при создании объекта этого класса. Таким образом, любая необходимая объекту инициализация при наличии конструктора выполняется автоматически.
Конструктор имеет то же имя, что и класс, частью которого он является, и
не имеет возвращаемого значения. Например, ниже представлен небольшой класс с конструктором:
#include <iostream>
using namespace std;
class myclass {
int a ;
public:
myclass (); // конструктор
void show() ;
myclass : :myclass ( )
{
cout << "В конструкторе\п";
a-10;
)
void myclass :: show ()
{
cout << a;
Глава 2. Введение в классы _ 45
int main ( )
{
myclass ob;
ob. show)) ;
return 0;
В этом простом примере значение а инициализируется конструктором
myclass(). Конструктор вызывается тогда, когда создается объект ob. Объект, в
свою очередь, создается при выполнении инструкции объявления объекта. Важ-
но понимать,что в C++ инструкция объявления переменной янляется
"инструкцией действия". При программировании на С инструкции объявления
переменных понимаются просто как создание переменных. Однако в C++, по-
скольку объект может иметь конструктор, инструкция объявления переменной
может вызывать выполнение записанных в конструкторе действий.
Обратите внимание, как определяется конструктор myclassQ. Как уже гово-
рилось, он не имеет возвращаемого значения. В соответствии с формальны-
ми правилами синтаксиса C++ конструктор не должен иметь возвращаемого
значения.
Для глобальных объектов конструктор объекта вызывается тогда, когда начи-
нается выполнение программы. Для локальных объектов конструктор вызыва-
ется всякий раз при выполнении инструкции объявления переменной.
Функцией, обратной конструктору, является деструктор (destructor). Эта
функция вызывается при удалении объекта. Обычно при работе с объектом
в момент его удаления должны выполняться некоторые действия. Напри-
мер, при создании объекта для него выделяется память, которую необходи-
мо освободить при его удалении. Имя деструктора совпадает с именем
класса, но с символом ~ (тильда)в начале. Пример класса с деструктором:
#include <iostream>
using namespace std;
class myclass {
int a;
public:
myclass (); // конструктор
-myclass (); // деструктор
void show() ;
}
myclass : :myclass ( )
{
cout << "Содержимое конструктора\n";
a = 10;
myclass::~myclass ( )
{
cout << "Удаление... \n";
}
void myclass::show()
{
cout << a << "\n";
}
int main()
myclass ob;
ob.show ();
return 0;
}
Деструктор класса вызывается при удалении объекта. Локальные объекты
удаляются тогда, когда они выходят из области видимости. Глобальные объ-
екты удаляются при завершении программы.
Адреса конструктора и деструктора получить невозможно.
3) Интерфе́йс (от лат. inter — между и лат. face — поверхность) — это семантическая и синтаксическая конструкция в коде программы, используемая для специфицирования услуг, предоставляемых классом или компонентом.
Интерфейс определяет границу взаимодействия между классами или компонентами, специфицируя определенную абстракцию, которую осуществляет реализующая сторона. В отличие от большинства других видов интерфейсов, интерфейс в ООП является строго формализованным элементом объектно-ориентированного языка и, в качестве семантической конструкции, широко используется кодом программы. К примеру, интерфейс «Cloneable» может описать абстракцию клонирования (создания точных копий) объектов, специфицировав метод «Clone». Тогда любой класс, способный создать свою копию, может задекларировать себя как Cloneable и предоставить метод Clone. Причем вызывающей стороне достаточно знать только описание интерфейса. Таким образом, интерфейсы позволяют рассоединить части программной системы в модули без взаимной зависимости кода.
С одной стороны, интерфейс — это контракт, который обязуется выполнить класс, реализующий его. Один класс может реализовать несколько интерфейсов одновременно. С другой стороны, интерфейс — это тип данных, потому что его описание достаточно четко определяет свойства объектов, чтобы наравне с классом типизировать переменные.
Роль интерфейсов в C++ выполняют абстрактные классы.