package specification

Explicación

La especificación o declaración de un paquete ofrece una interfaz y, de forma opcional, permite definir algunos elementos privados, lo que facilita la "extensión de paquetes", mecanismo que permite construir paquetes derivados (child packages) a partir de otros preexistentes (parent packages). Los elementos privados de un paquete son visibles a los que derivan de él, pero no a otras unidades.

Sintaxis

package_declaration ::= package_specification;

package_specification ::= package defining_program_unit_name is
{basic_declarative_item}
[private
{basic_declarative_item}]
end [[parent_unit_name.]identifier]

Ejemplo

La siguiente especificación es de un paquete llamado "Pila_De_enteros" que ofrece un tipo llamado "Pila" y cuatro operaciones primitivas.

package Pila_De_Enteros is
type Pila is limited private;
procedure Apilar (P : in out Pila;E: in Integer);
procedure Desapilar (P : in out Pila);
function Cima (P : Pila) return Integer;
function Es_Vacía (P : Pila) return Boolean;
private
type Nodo is record
Info: Integer;
Sig : Pila;
end record;
type Pila is access Nodo;
end Pila_De_Enteros;
Créditos