<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Generischer_Typ</id>
	<title>Generischer Typ - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Generischer_Typ"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Generischer_Typ&amp;action=history"/>
	<updated>2026-05-22T14:18:10Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Generischer_Typ&amp;diff=25122&amp;oldid=prev</id>
		<title>~2025-37496-76: Anglizismus entfernt</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Generischer_Typ&amp;diff=25122&amp;oldid=prev"/>
		<updated>2025-12-01T13:45:37Z</updated>

		<summary type="html">&lt;p&gt;Anglizismus entfernt&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Belege fehlen |2=Dieser Artikel}}&lt;br /&gt;
In der [[Informatik]] sind &amp;#039;&amp;#039;&amp;#039;generische Typen&amp;#039;&amp;#039;&amp;#039; [[Datentyp]]en mit der Möglichkeit zur Angabe von Typparametern. Man spricht auch von [[Polymorphie (Programmierung)#Parametrische Polymorphie|parametrischer Polymorphie]].&lt;br /&gt;
&lt;br /&gt;
Ein generischer Typ erlaubt es, Datentypen zu erzeugen, die von den zugrunde liegenden Typen abstrahieren. So kann man eine [[Liste]] von Zahlen, eine Liste von Zeichen und eine Liste von Datumsangaben auf die gleiche Weise programmieren, d.&amp;amp;nbsp;h. 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.&lt;br /&gt;
&lt;br /&gt;
In [[Java (Programmiersprache)|Java]] beispielsweise würde eine generische Liste wie folgt definiert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
 List&amp;lt;T&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dabei bedeutet &amp;lt;code&amp;gt;List&amp;lt;T&amp;gt;&amp;lt;/code&amp;gt; &amp;#039;&amp;#039;generischer Typ&amp;#039;&amp;#039;, und &amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt; heißt &amp;#039;&amp;#039;Typparameter&amp;#039;&amp;#039;. Generische Typen finden sich in allen Programmiersprachen, die das [[Paradigma]] der [[Generische Programmierung|Generischen Programmierung]] unterstützen.&lt;br /&gt;
&lt;br /&gt;
Bei Programmiersprachen gibt es prinzipiell zwei Ansätze, generische Typen zu unterstützen. Der eine ist es, dass &amp;lt;code&amp;gt;GenerischerTyp&amp;lt;T&amp;gt;&amp;lt;/code&amp;gt; für alle &amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt;s denselben Code verwendet und über [[dynamische Bindung]] von Methoden spezifische Eigenschaften von &amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt; nutzt. Ein anderer Weg, den u.&amp;amp;nbsp;a. [[C++]] geht, ist die Anwendung von [[Template (C++)|Templates]]. Dabei wird der Typparameter zur Kompilierzeit direkt durch den konkreten Typ ersetzt. Gibt es mehrere unterschiedliche Typparameter für einen generischen Typ, so werden bei C++ auch mehrere Klassen erzeugt.&lt;br /&gt;
&lt;br /&gt;
Bei [[.NET (Oberbegriff)|.NET]] geht [[Microsoft]] einen Mittelweg, um die Vorteile beider Methoden zu kombinieren: Für alle Referenztypen als Typparameter benutzt die generische Klasse den gleichen [[Common Intermediate Language|nativen Code]], da die interne Repräsentation (eine simple [[Referenz (Programmierung)|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.&lt;br /&gt;
&lt;br /&gt;
== Generische Typen in verschiedenen Programmiersprachen ==&lt;br /&gt;
* C++ implementiert generische Typen mittels Templates, z.&amp;amp;nbsp;B. Klassenvorlagen.&lt;br /&gt;
* [[Generische Programmierung in Java]]&lt;br /&gt;
* [[C-Sharp|C#]] und andere .NET-Sprachen bieten Generics seit .NET 2.0&lt;br /&gt;
* In der Programmiersprache [[Ada (Programmiersprache)|Ada]] werden generische Typen zur Parametrisierung von Paketen eingesetzt.&lt;br /&gt;
* [[Embarcadero Delphi|Delphi]] bietet seit Delphi 2009 Unterstützung für generische Typen, [[Free Pascal]] unterstützt generische Klassen ab Version 2.2.&lt;br /&gt;
* Die Programmiersprache [[Haxe (Programmiersprache)|Haxe]] bietet generische Typen für Flash, [[JavaScript]] und Server-seitige Ausführung (alle sind drei Bereiche, in denen sonst keine Generik möglich ist)&lt;br /&gt;
* [[Haskell (Programmiersprache)|Haskell]] bietet ein sehr mächtiges Typsystem&lt;br /&gt;
* Weitere Sprachen mit generischen Typen sind [[Ada (Programmiersprache)|Ada]], [[Eiffel (Programmiersprache)|Eiffel]], [[F-Sharp|F#]], [[Nim (Programmiersprache)|Nim]], [[Python (Programmiersprache)|Python]], [[Go (Programmiersprache)|Go]], [[Rust (Programmiersprache)|Rust]], [[Swift (Programmiersprache)|Swift]] und [[TypeScript]]&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* R. Backhouse, P. Hoogendijk: &amp;#039;&amp;#039;Chapter 3. Generic properties of datatypes.&amp;#039;&amp;#039; In: Roland C. Backhouse (Hrsg.): &amp;#039;&amp;#039;Generic programming: advanced lectures.&amp;#039;&amp;#039; (Lecture Notes in Computer Science; 2793: Tutorial) Springer, Berlin 2003, ISBN 3-540-20194-7, S. 97–132.&lt;br /&gt;
* Stephanie Weirich, Chris Casinghino: &amp;#039;&amp;#039;Generic programming with dependent types.&amp;#039;&amp;#039; In: Jeremy Gibbons (Hrsg.): &amp;#039;&amp;#039;Generic and indexed programming: international spring school, SSGIP 2010, Oxford, UK, March 22 - 26, 2010; revised lectures.&amp;#039;&amp;#039; (Lecture Notes in Computer Science; 7470: Tutorial) Springer, Berlin 2012, ISBN 978-3-642-32201-3, S. 217–258.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Datentyp]]&lt;br /&gt;
&lt;br /&gt;
[[en:Generic programming]]&lt;/div&gt;</summary>
		<author><name>~2025-37496-76</name></author>
	</entry>
</feed>