Введение в программирование - Учебное пособие (Корочкин А. В.)

Словарь       терминов

В данном приложении описаны некоторые термины, используемые в языке. При этом основное внимание уделено тем терминам, которые появились в новом стандарте языка, или их трактовка изменилась по сравнению с Адой 83.

Абстрактная подпрограмма ( abstract subroutine). Подпрограмма, не имеющая тела. Требует совмещения в месте наследования. Исполь­зуется при диспетчерском вызове.

Абстрактный тип (abstract type ). Разновидность тэгового типа. Пре­дполагает использование в качестве родительского типа при расши­рении типа. Не имеет обьектов. Назначение - создание общего ин­терфейса для нескольких абстракций.

Библиотечный модуль ( library unit ). Отдельно компилируемый мо­дуль ( пакет, настраиваемый модуль, подпрограмма ). Может иметь дочерние и родительские библиотечные модули, образуя подсистему. Дискриминант (discriminant). Специальная компонента обьекта или значение именованного типа. В Аде 95 расширена для задачного и защищенного типов.

Диспетчерский вызов( dispatching call ). Вызов совмещенной прими­тивной подпрограммы с аргументом тэгового типа, при котором выбор ее соответствующей реализации выполняется динамически на основании тэга фактического параметра.

Задачный тип ( task type). Составной тип, элементами которого явля­ются задачи. Может иметь дискриминант.

Защищенный тип ( protected type ). Составной тип, компоненты кото­рого защищены от одновременного доступа.

Класс ( class ). Обьединение типов. Типы класса имеют общий набор примитивных операций.Класс всегда замкнут при порождении, то есть если тип принадлежит классу, то все типы, производные от него, тоже принадлежат этому классу.

Лимитированный тип ( limited type ). Тип, для которого не допу­скаются операции присваивания.

Настраиваемый модуль ( generic unit). Шаблон программного модуля. используемый для создания модуля с заданными свойствами при конкретизации . Может быть параметризован через обьекты, типы, подпрограммы, пакеты.В Аде 95 разрешено использование формаль­ных пакетов.

Приватное расширение ( limited extension ) . Расширение записи, при котором добавленная часть расширения является невидимой для пользователя.

Примитивные операции ( primitive operations ). Операции , которые определяются вместе с объявлением типа. Они наследуются в классе. Для тэговых типов примитивные операции - диспетчерские подпро­граммы, обеспечивающие динамический полиморфизм. Программа ( programm ). Множество сегментов, каждый из которых может выполняться в отдельном адресном пространстве , возможно в отдельном компьютере.

Программный модуль ( programm unit ). Пакет, задача, защищенный модуль, настраиваемый модуль, подпрограмма. Средства построения программ в языке.

Производный тип ( derived type). Тип, определяемый с помощью дру­гого типа( родительского ). Наследует свойства родительского типа ( компоненты и примитивные операции).  Класс родителского типа все­гда содержит все его производные типы, образуя производный класс. Расширение записи ( record extension ). Тип, получаемый из типа за­писи, помеченной тэгом, путем добавления новых компонентов. Сегмент ( partition ). Элемент распределенной   программы. Содержит набор библиотечных модулей. Может выполняться в отдельном ад­ресном пространстве.

Тип широкого класса ( wide-class type ). Тип T'Class, определяемый для любого тэгового типа Т. Объединяет все типы, производные от Т. Является неограниченным.

Тэговый тип ( tagged type ). Тип , помеченный словом tagged. Пре­дназначен для реализации в языке парадигм обьектно-ориентиро-ванного программирования. Тэговый тип может быть расширен с помощью добавления новых компонент. Целый тип (integer type ). Простой целый и модульный целый типы.

240