Una declaración de tipo privado es una en la que como descripción se utiliza
la palabra private. La declaración proporciona una
vista restringida de un tipo que está definido en otro sitio.
En el ámbito de su declaración un tipo privado sólo admite
asignación y
operadores relacionales de igualdad (a
menos que además sea limitado).
Una declaración de tipo privado se puede hacer en la sección pública de la
especificación de un paquete; tal tipo
debe redeclararse en la sección privada de dicha especificación, donde se
definirán sus características "ocultas" que sólo podrán usarse dentro del
paquete.
También puede declararse privado un parámetro formal genérico en cuyo caso
dentro de la unidad genérica sólo se le podrán
aplicar las operaciones antes mencionadas, independientemente del tipo que actúe
como parámetro real.
private_type_declaration ::=
type defining_identifier [discriminant_part] is [[abstract] tagged] [limited] private;
package Ejemplo is
type Persona is private;
... private
type Persona is record
Nombre : String (1..50);
NIF : String (1..9);
end record;
end Ejemplo;