Einzelnen Beitrag anzeigen

Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.143 Beiträge
 
Delphi 10.3 Rio
 
#9

AW: Frage zu einer Programmier-Technik, die ich nicht kenne

  Alt 19. Apr 2018, 09:30
Früher nannte man das Copy-Buffer Programmierung, aber generics klingt besser...

Beispiel: Du hast einen Quicksort-Routine, die ein array aus Integer sortieren kann.

Wenn Du jetzt Strings sortieren willst oder Records mit irgendwelchen Daten, kopierst Du die Quicksort-Routine
und schreibst überall wo Integer steht String oder TMyRecord...

Mitte : Integer => Mitte : String;

Jetzt kommen die Generics ins Spielt: Hier steht dann Mitte : T wobei es nicht T heißen muss. T ist hier nur ein Platzhalten. Es könnte auch
Mitte : TKopierterTyp heißen - ist das gleiche... Class<TKopierterTyp>

Bei mehrerer Parametern, sieht man das schon mal : TConverter<TSource,TDest> = Class

Was wan man früher mit Copy-Buffer gemacht hat - also die Routine komplett kopiert und den Typen geändert. Macht heute der Compile mit Compiler-Magic...

Somit kannst Du allgemeine Routinen schreiben die dann "beliebige" Typen verwenden können. Damit der Compiler auf gewisse Typenbezogene Methoden zugreifen kann,
kann man <T:TFrame> eingrenzen. T muss dann mindestens vom Type TFrame beziehungsweise eine Ableitung von TFrame sein...

Mavarik
  Mit Zitat antworten Zitat