Porozumění používání generických typů v Delphi

Generics, silný doplněk k Delphi, byly představeny v Delphi 2009 jako nová jazyková funkce. Generics nebo generické typy (také známé jako parametrizované typy), můžete definovat třídy, které konkrétně nedefinují typ určitých datových členů.

Jako příklad, namísto použití typu TObjectList k vytvoření seznamu všech typů objektů, od Delphi 2009 Generics. Jednotka kolekce definuje silněji zadaný TObjectList.

Generika se někdy nazývají generické parametry, což je název, který je umožňuje lépe představit. Na rozdíl od funkčního parametru (argumentu), který má hodnotu, je obecný parametr typ. A to parametrizuje třídu, rozhraní, záznam nebo, méně často, metodu... S, jako bonus, anonymní rutiny a rutinní reference

Delphi tList, tStringList, tObjectlist nebo tCollection lze použít k vytváření specializovaných kontejnerů, ale vyžadují typcasting. V případě Generics je obsazení vyloučeno a kompilátor může včas zjistit chyby typu.

Jakmile napíšete třídu pomocí obecných parametrů typu (generika), můžete tuto třídu použít s jakýmkoli typem a typ, který se rozhodnete použít pro jakékoli dané použití této třídy, nahrazuje obecné typy, které jste použili při vytváření třída.

instagram viewer

Většina příkladů, které jsem viděl u Generics v Delphi, používá třídy obsahující generický typ. Při práci na osobním projektu jsem se však rozhodl, že chci rozhraní obsahující obecný typ.