ein generischer/abstrakter Datentyp ist eine Klasse, die Typparameter annimmt. Es wird somit möglich Klassen zu erzeugen, die vom zugrunde liegenden Typen abstrahieren.

Also nehmen wir mal ein Beispiel aus der Praxis. Es gibt z.B. eine Klasse List<T>, wobei das T für den Typparameter steht. Diese Klasse bietet eine ziemlich nützliche Logik an (Find, Sort Methoden und dergleichen). Diese eigentliche Logik (Find, Sort) steht dir nun für jeden Datentyp zur Verfügung. Also z.B. auch für eine eigene Klasse User, die du selbst geschrieben hast und in der List speichern möchtest.

Wenn wir das mal mit dem nicht generischen Vorgänger - der ArrayList - vergleichen, so konntest du hier nur vordefinierte Typen in die Liste packen (int, string, object etc.).

Du hättest also in dem oben genannten Fall vermutlich deine User als Object in die ArrayList gepackt. Das bedeutet allerdings auch, dass du dann an anderer Stelle wieder casten müsstest. Du kannst also mit generischen Datentypen auch viel typsicherer programmieren.

...zur Antwort
Weitere Inhalte können nur Nutzer sehen, die bei uns eingeloggt sind.