6.C. Private Type - JulTob/Ada GitHub Wiki

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.

package Ejemplo is

   type Persona is private;
                           ...
private

   type Persona is record
      Nombre : String (1..50);
      NIF    : String (1..9);
      end record;

end Ejemplo;