tagged

Explicación

Un tipo tagged es un tipo privado o un record en cuya declaración se usa la palabra reservada tagged.
 

Un tipo tagged puede ser extendido, dando lugar a otro tipo que se dice derivado de aquel. El tipo del que se deriva se dice que es "padre" del derivado. Del tipo derivado se pueden a su vez derivar otros, formando una jerarquía de tipos (una familia de tipos). Los tipos derivados también son tagged. Cada objeto tagged tiene un atributo llamado Tag que identifica su clase concreta.

 

El tipo primitivo de una jerarquía no tiene por qué tener ningún campo, de forma que sólo existan los añadidos por sus extensiones.

Ejemplo

package Ejemplo is
   type Persona is tagged private; --  Declaración de tipo tagged

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

Tipo primitivo sin campos:

type Otro is tagged null record;