Geneetiliste tüüpide kasutamise mõistmine Delphis

Generics, mis on Delphi võimas lisand, tutvustati Delphi 2009 uue keelefunktsioonina. Geneerikud või geneerilised tüübid (tuntud ka kui parametriseeritud tüübid), saate määratleda klassid, mis ei määratle konkreetselt teatud andmeliikmete tüüpi.

Näitena, selle asemel, et kasutada tüüpi TObjectList, et omada kõigi objektitüüpide loendit (Delphi 2009) Geneerikud. Kollektsiooniüksus määratleb tugevamalt trükitud TObjectList.

Geneerilisi aineid nimetatakse mõnikord üldisteks parameetriteks, mis võimaldab neid mõnevõrra paremini tutvustada. Erinevalt funktsiooni parameetrist (argumendist), millel on väärtus, on üldine parameeter tüüp. Ja see parameetrib klassi, liidese, kirje või harvemini meetodi... Boonusena anonüümsed rutiinid ja rutiinsed viited

Delphi tList, tStringList, tObjectlist või tCollection saab kasutada spetsiaalsete konteinerite ehitamiseks, kuid need nõuavad spetsiifilist uurimist. Genericsiga välditakse ülekandmist ja kompilaator suudab tüüpi vigu varem märgata.

Kui olete klassi kirjutanud üldiste tüübiparameetrite (geneeriliste) abil, saate seda klassi kasutada mis tahes tüüpi ja klassidega tüüp, mille valite selle klassi mis tahes kasutusotstarbeks, asendab üldised tüübid, mida kasutasite kursuse loomisel klass.

instagram viewer

Enamik näiteid, mida ma olen näinud Generics Delphis, kasutavad klasse, mis sisaldavad geneerilist tüüpi. Isikliku projekti kallal töötades otsustasin siiski, et tahan liidest, mis sisaldaks geneerilist tüüpi.

instagram story viewer