Generischer Typ

Generischer Typ

In der Informatik sind generische Typen Datentypen mit der Möglichkeit zur Angabe von Typparametern. Man spricht auch von parametrischer Polymorphie.

Ein generischer Typ erlaubt es, Datentypen zu erzeugen, die von den zu Grunde liegenden Typen abstrahieren. So würden eine Liste von Zahlen, eine Liste von Zeichen und eine Liste von Datumsangaben im Grunde auf dieselbe Weise programmiert werden. Die Algorithmen zum Einfügen, Suchen und Löschen würden stets gleich ablaufen. Es ist daher wünschenswert, die Implementierung der Liste unabhängig von diesen Typen vorzunehmen.

In Java beispielsweise würde eine generische Liste wie folgt definiert:

List<T>

Dabei bedeutet List<T> generischer Typ und T heißt Typparameter. Generische Typen finden sich in allen Programmiersprachen, die das Paradigma der Generischen Programmierung unterstützen.

Bei Programmiersprachen gibt es prinzipiell zwei Ansätze, generische Typen zu unterstützen. Der eine ist es, dass GenerischerTyp<T> für alle Ts denselben Code verwendet und über dynamische Bindung von Methoden spezifische Eigenschaften von T nutzt. Ein anderer Weg, den u.a. C++ geht, ist die Anwendung von Templates. Dabei wird der Typparameter zur Compilierzeit direkt mit dem konkreten Typ ersetzt.

Bei .NET geht Microsoft einen Mittelweg, um die Vorteile beider Methoden zu kombinieren: Für alle Referenztypen als Typparameter benutzt die generische Klasse den gleichen native Code, da die interne Repräsentation (eine simple Referenz) von allen Referenztypen gleich ist. Bei der Benutzung von Werttypen als Typparameter wird für jeden Werttyp zur Laufzeit bei der erstmaligen Benutzung ein eigener Native-Code-Pfad erstellt.

Generische Typen in verschiedenen Programmiersprachen

  • C++ implementiert generische Typen mittels Templates
  • Generische Programmierung in Java
  • C# und andere .NET-Sprachen bieten Generics seit .NET 2.0
  • In der Programmiersprache Ada werden generische Typen zur Parametrisierung von Paketen eingesetzt.
  • Delphi für Win32 .NET bietet seit Delphi 2009 Unterstützung für Generics
  • Die Programmiersprache haXe bietet generische Typen für Flash, Javascript und Serverseitige Ausführung (alles drei Bereiche, in denen sonst keine Generik möglich ist)

Wikimedia Foundation.

Игры ⚽ Поможем сделать НИР

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Generischer Datentyp — In der Informatik sind Generische Typen Datentypen mit der Möglichkeit zur Angabe von Typparametern. Man spricht auch von parametrischer Polymorphie. Ein generischer Typ erlaubt es, Datentypen zu erzeugen, die von den zu Grunde liegenden Typen… …   Deutsch Wikipedia

  • Generisches Konzept — Generische Programmierung ist ein Verfahren zur Entwicklung wiederverwendbarer Software Bibliotheken. Dabei werden Funktionen möglichst allgemein entworfen, um für unterschiedliche Datentypen und Datenstrukturen verwendet werden zu können. Die… …   Deutsch Wikipedia

  • Generizität — Generische Programmierung ist ein Verfahren zur Entwicklung wiederverwendbarer Software Bibliotheken. Dabei werden Funktionen möglichst allgemein entworfen, um für unterschiedliche Datentypen und Datenstrukturen verwendet werden zu können. Die… …   Deutsch Wikipedia

  • C++-Template — Dieser Artikel wurde aufgrund von inhaltlichen Mängeln auf der Qualitätssicherungsseite der Redaktion Informatik eingetragen. Dies geschieht, um die Qualität der Artikel aus dem Themengebiet Informatik auf ein akzeptables Niveau zu bringen. Hilf… …   Deutsch Wikipedia

  • Generisch — Als generisch [aus dem lateinischen (generalis=allgemein, die ganze Gattung betreffend)] wird ein Objekt oder ein Begriff mit Bezug auf eine große Klasse oder Gruppe von Objekten oder Begriffen bezeichnet. Ein generischer Begriff ist in diesem… …   Deutsch Wikipedia

  • Generics — In der Informatik sind Generische Typen Datentypen mit der Möglichkeit zur Angabe von Typparametern. Man spricht auch von parametrischer Polymorphie. Ein generischer Typ erlaubt es, Datentypen zu erzeugen, die von den zu Grunde liegenden Typen… …   Deutsch Wikipedia

  • Späte Bindung — Polymorphie (griechisch, „Vielgestaltigkeit“) ist die Fähigkeit eines Bezeichners – der einen Festwert (Literal) oder eine Variable repräsentieren kann – sich abhängig von seiner Verwendung unterschiedlich darzustellen. Sie erlaubt dem Bezeichner …   Deutsch Wikipedia

  • HaXe — Entwickler: Motion Twin Aktuelle Version: 2.0 Betriebssystem: Windows, Linux, Mac OS X Kategorie: Programmierspr …   Deutsch Wikipedia

  • HaXe (Programmiersprache) — haXe Entwickler: Motion Twin Aktuelle Version: 2.0 Betriebssystem: Windows, Linux, Mac OS X Kategorie: Programmierspr …   Deutsch Wikipedia

  • .NET-Framework — Basisdaten Entwickler: Microsoft Aktuelle Version …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”