Declaración de objetos

Explicación

Declara un objeto especificando su nombre, su tipo y, opcionalmente, una expresión que defina su valor inicial. Para los objetos que sean array, task o protected el tipo puede ser una definición de tipo anónimo.

La palabra reservada constant indica que el objeto es constante (no puede ser modificado). La palabra reservada aliased indica que se puede obtener la dirección del objeto mediante el atributo Access.

Sintaxis

object_declaration ::= 
    defining_identifier_list : [aliased] [constant] subtype_indication [:= expression];
  | defining_identifier_list : [aliased] [constant] access_definition [:= expression];
  | defining_identifier_list : [aliased] [constant] array_type_definition [:= expression];
  | single_task_declaration
  | single_protected_declaration

defining_identifier_list ::=
   defining_identifier {, defining_identifier}

Ejemplo

Declaraciones de variables

Count, Sum  : Integer;
Size : Integer range 0 .. 10_000 := 0;
Sorted : Boolean := False;
Color_Table : array(1 .. Max) of Color;
Option : Bit_Vector(1 .. 10) := (others => True);
Hello : aliased String := "Hola, gente.";
John : not null Person_Name := new Person(Sex => M);
θ, φ : Float range -π .. +π;

Declaraciones de constantes

Limit     : constant Integer := 10_000;
Low_Limit : constant Integer := Limit/10;
Tolerance : constant Real := Dispersion(1.15);
Hello_Msg : constant access String := Hello'Access;