Zoeken…


Generieke subprogramma's

Generieke subprogramma's zijn nuttig om subprogramma's te maken met dezelfde structuur voor verschillende typen. Om bijvoorbeeld twee objecten te verwisselen:

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;

Algemene pakketten

In het generieke Ada-pakket worden gegevens onmiddellijk gedupliceerd; dat wil zeggen, als ze globale variabelen bevatten, heeft elke instantie een eigen kopie van de variabele, correct getypt en onafhankelijk van de andere.

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

Algemene parameters

Ada biedt een breed scala aan generieke parameters die moeilijk in andere talen te vertalen zijn. De parameters die tijdens de instantiëring worden gebruikt en bijgevolg die waarop de generieke eenheid kan vertrouwen, kunnen variabelen, types, subprogramma's of pakketinstanties zijn, met bepaalde eigenschappen. Het volgende biedt bijvoorbeeld een sorteeralgoritme voor elk type array:

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
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow