Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
27
Добавлен:
27.02.2014
Размер:
64.51 Кб
Скачать

Билет №17

  1. Стандартизация информационных технологий. Классификация стандартов. Понятия и определения.

  2. Деструкторы. Назначение, синтаксис, понятия и определения.

  3. Интерфейсы. Свойства, применение. Производные интерфейсы.

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++ выполняют абстрактные классы.

Соседние файлы в папке Ответы на билеты