Buscar..


Subprogramas genéricos

Los subprogramas genéricos son útiles para crear subprogramas que tienen la misma estructura para varios tipos. Por ejemplo, para intercambiar dos objetos:

generic
    type A_Type is private;
procedure Swap (Left, Right : in out A_Type) is
    Temp : A_Type := Left;
begin
    Left := Right;
    Right := Temp;
end Swap;

Paquetes genéricos

En el paquete genérico de Ada, en la instanciación, los datos se duplican; es decir, si contienen variables globales, cada instancia tendrá su propia copia de la variable, correctamente escrita e independiente de las demás.

generic
    type T is private;
package Gen is
    type C is tagged record
        V : T;
    end record;
    G : Integer;
end Gen;

Parámetros genéricos

Ada ofrece una amplia variedad de parámetros genéricos que son difíciles de traducir a otros idiomas. Los parámetros utilizados durante la creación de instancias y, como consecuencia, aquellos en los que puede confiar la unidad genérica pueden ser variables, tipos, subprogramas o instancias de paquetes, con ciertas propiedades. Por ejemplo, lo siguiente proporciona un algoritmo de clasificación para cualquier tipo de matriz:

generic
    type Component is private;
    type Index is (<>);
    with function "<" (Left, Right : Component) return Boolean;
    type Array_Type is array (Index range <>) of Component;
procedure Sort (A : in out Array_Type);


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow