Suche…


Generische Unterprogramme

Generische Unterprogramme sind nützlich, um Unterprogramme zu erstellen, die für mehrere Typen dieselbe Struktur haben. Um beispielsweise zwei Objekte auszutauschen:

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;

Generische Pakete

Im generischen Ada-Paket werden die Daten bei der Instantiierung dupliziert. Das heißt, wenn sie globale Variablen enthalten, hat jede Instanz eine eigene Kopie der Variablen, die richtig typisiert und von den anderen unabhängig ist.

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

Generische Parameter

Ada bietet eine Vielzahl von generischen Parametern, die schwer in andere Sprachen zu übersetzen sind. Die Parameter, die während der Instantiierung verwendet werden und infolgedessen diejenigen, auf die sich die generische Einheit verlassen kann, können Variablen, Typen, Unterprogramme oder Paketinstanzen mit bestimmten Eigenschaften sein. Im Folgenden finden Sie beispielsweise einen Sortieralgorithmus für jede Art von 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
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow