Показанный выше схематический пример описывает
Например:
with Sets;
package Quick_Sets is
type Bit_Vector is array(0..255) of Boolean; pragma Pack (Bit_Vector);
type Quick_Set is new Sets.Set with
record
Bits : Bit_Vector := (others => False); end record;
-- объявление конкретной реализации function Empty return Quick_Set; function Empty(Element : Quick_Set) return Boolean;
. . .
|
Показанный выше схематический пример описывает тип Quick_Set, производный от абстрактного типа Set.
В этом примере, тип Quick_Set осуществляет реализацию функциональности которая была задана в абстрактном типе Set.
В результате, после описания типа Quick_Set, мы можем описывать и использовать объекты типа Quick_Set
логическая функциональность которых будет соответствовать функциональности абстрактного типа Set.
Необходимо также заметить, что Ада позволяет чтобы вновь описываемый тип, производный от абстрактного типа, также был абстрактным.
Используя такие возможности можно разработать иерархию абстрактных типов, которая будет определять логическую функциональность программной подсистемы или всего программного проекта.
Содержание Назад Вперед