Szukaj…


Ogólne podprogramy

Podprogramy ogólne są przydatne do tworzenia podprogramów o tej samej strukturze dla kilku typów. Na przykład, aby zamienić dwa obiekty:

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;

Pakiety ogólne

W pakiecie ogólnym Ada po utworzeniu instancji dane są duplikowane; to znaczy, jeśli zawierają zmienne globalne, każde wystąpienie będzie miało własną kopię zmiennej, odpowiednio wpisaną i niezależną od pozostałych.

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

Ogólne parametry

Ada oferuje szeroki zakres ogólnych parametrów, które trudno jest przetłumaczyć na inne języki. Parametry używane podczas tworzenia instancji, aw konsekwencji te, na których może polegać jednostka ogólna, mogą być zmiennymi, typami, podprogramami lub instancjami pakietu o określonych właściwościach. Na przykład poniżej przedstawiono algorytm sortowania dla dowolnego rodzaju tablicy:

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
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow