ada
Genericidad en Ada
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);