Computerwissenschaften

Grundlegendes zur Verwendung generischer Typen in Delphi

Generika, eine leistungsstarke Ergänzung zu Delphi, wurden in Delphi 2009 als neue Sprachfunktion eingeführt. Mit generischen oder generischen Typen (auch als parametrisierte Typen bezeichnet ) können Sie Klassen definieren, die den Typ bestimmter Datenelemente nicht speziell definieren.

Anstatt beispielsweise den TObjectList-Typ zu verwenden, um eine Liste aller Objekttypen aus Delphi 2009, den Generics, zu erhalten. Die Sammlungseinheit definiert eine stärker typisierte TObjectList.

Hier ist eine Liste von Artikeln, in denen generische Typen in Delphi mit Verwendungsbeispielen erläutert werden:

 

Was und warum und wie bei Generika in Delphi

 

Generika mit Delphi 2009 Win32

Generika werden manchmal als generische Parameter bezeichnet, ein Name, mit dem sie etwas besser eingeführt werden können. Im Gegensatz zu einem Funktionsparameter (Argument), der einen Wert hat, ist ein generischer Parameter ein Typ. Und es parametrisiert eine Klasse, eine Schnittstelle, einen Datensatz oder seltener eine Methode … Als Bonus anonyme Routinen und Routineverweise

 

Delphi Generics Tutorial

Delphi tList, tStringList, tObjectlist oder tCollection können zum Erstellen spezialisierter Container verwendet werden, erfordern jedoch eine Typumwandlung. Mit Generics wird das Casting vermieden und der Compiler kann Typfehler früher erkennen.

 

Verwenden von Generika in Delphi

Sobald Sie eine Klasse mit generischen Typparametern (Generics) geschrieben haben, können Sie diese Klasse mit einem beliebigen Typ verwenden. Der Typ, den Sie für eine bestimmte Verwendung dieser Klasse auswählen, ersetzt die generischen Typen, die Sie beim Erstellen der Klasse verwendet haben.

 

Generische Schnittstellen in Delphi

Die meisten Beispiele, die ich für Generika in Delphi gesehen habe, verwenden Klassen, die einen generischen Typ enthalten. Während ich an einem persönlichen Projekt arbeitete, entschied ich mich jedoch für eine Schnittstelle mit einem generischen Typ.

 

Beispiel für einen einfachen Generika-Typ

So definieren Sie eine einfache generische Klasse:

Typ
TGenericContainer = Klasse
Wert: T;
Ende ;

Mit der folgenden Definition wird Folgendes verwendet, um einen generischen Container für Ganzzahlen und Zeichenfolgen zu verwenden:

var
genericInt: TGenericContainer ;
genericStr: TGenericContainer ;
begin
genericInt:=TGenericContainer .Create;
genericInt.Value:=2009; // nur ganze Zahlen
genericInt.Free;
genericStr:=TGenericContainer .Create;
genericStr.Value:=’Delphi Generics‘; // nur Strings
genericStr.Free;
Ende ;

Das obige Beispiel kratzt nur an der Oberfläche der Verwendung von Generika in Delphi (erklärt jedoch nichts – aber die obigen Artikel enthalten alles, was Sie wissen möchten!).

Generika waren für mich der Grund, von Delphi 7/2007 auf Delphi 2009 (und neuer) umzusteigen.

Similar Posts

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.