<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://staging.moocwiki.org/index.php?action=history&amp;feed=atom&amp;title=Polymorphism</id>
	<title>Polymorphism - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://staging.moocwiki.org/index.php?action=history&amp;feed=atom&amp;title=Polymorphism"/>
	<link rel="alternate" type="text/html" href="https://staging.moocwiki.org/index.php?title=Polymorphism&amp;action=history"/>
	<updated>2026-06-10T14:31:10Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in MOOCsWiki Staging</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://staging.moocwiki.org/index.php?title=Polymorphism&amp;diff=20143&amp;oldid=prev</id>
		<title>Glanz: Die Seite wurde neu angelegt: „{{:MOOCit - Oben}} {| align=center {{:D-Tab}} &#039;&#039;&#039;Polymorphismus in der OOP&#039;&#039;&#039; {{o}} Ad-hoc-Polymorphismus {{o}} Subtyp-Polymorphismus {{o}} Implementierung in Java {{o}} Implementierung in C++ {{o}} Implementierung in Python |}  {{:BRK}}…“</title>
		<link rel="alternate" type="text/html" href="https://staging.moocwiki.org/index.php?title=Polymorphism&amp;diff=20143&amp;oldid=prev"/>
		<updated>2024-04-05T16:04:07Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „{{:MOOCit - Oben}} {| align=center {{:D-Tab}} &amp;#039;&amp;#039;&amp;#039;Polymorphismus in der OOP&amp;#039;&amp;#039;&amp;#039; {{o}} &lt;a href=&quot;/index.php?title=Polymorphismus_-_Ad-hoc-Polymorphismus&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Polymorphismus - Ad-hoc-Polymorphismus (Seite nicht vorhanden)&quot;&gt;Ad-hoc-Polymorphismus&lt;/a&gt; {{o}} &lt;a href=&quot;/index.php?title=Polymorphismus_-_Subtyp-Polymorphismus&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Polymorphismus - Subtyp-Polymorphismus (Seite nicht vorhanden)&quot;&gt;Subtyp-Polymorphismus&lt;/a&gt; {{o}} &lt;a href=&quot;/index.php?title=Polymorphismus_-_Implementierung_in_Java&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Polymorphismus - Implementierung in Java (Seite nicht vorhanden)&quot;&gt;Implementierung in Java&lt;/a&gt; {{o}} &lt;a href=&quot;/index.php?title=Polymorphismus_-_Implementierung_in_C%2B%2B&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Polymorphismus - Implementierung in C++ (Seite nicht vorhanden)&quot;&gt;Implementierung in C++&lt;/a&gt; {{o}} &lt;a href=&quot;/index.php?title=Polymorphismus_-_Implementierung_in_Python&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Polymorphismus - Implementierung in Python (Seite nicht vorhanden)&quot;&gt;Implementierung in Python&lt;/a&gt; |}  {{:BRK}}…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{:MOOCit - Oben}}&lt;br /&gt;
{| align=center&lt;br /&gt;
{{:D-Tab}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Polymorphismus in der OOP&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
{{o}} [[Polymorphismus - Ad-hoc-Polymorphismus|Ad-hoc-Polymorphismus]]&lt;br /&gt;
{{o}} [[Polymorphismus - Subtyp-Polymorphismus|Subtyp-Polymorphismus]]&lt;br /&gt;
{{o}} [[Polymorphismus - Implementierung in Java|Implementierung in Java]]&lt;br /&gt;
{{o}} [[Polymorphismus - Implementierung in C++|Implementierung in C++]]&lt;br /&gt;
{{o}} [[Polymorphismus - Implementierung in Python|Implementierung in Python]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{:BRK}}&lt;br /&gt;
= Polymorphismus in der objektorientierten Programmierung =&lt;br /&gt;
&lt;br /&gt;
{{:BRK}}&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
&lt;br /&gt;
Polymorphismus ist ein fundamentales Konzept in der objektorientierten Programmierung (OOP), das es ermöglicht, Objekte verschiedener Klassen, die eine gemeinsame Schnittstelle teilen, auf die gleiche Weise zu behandeln. Dieses Prinzip unterstützt die Flexibilität und Wiederverwendbarkeit von Code, indem es ermöglicht, dass ein Objekt viele Formen annehmen kann. In diesem aiMOOC wirst Du die verschiedenen Aspekte des Polymorphismus kennenlernen, verstehen, wie er in der OOP implementiert wird, und lernen, wie Du ihn in Deinen eigenen Programmen effektiv nutzen kannst.&lt;br /&gt;
&lt;br /&gt;
{{:BRK}}&lt;br /&gt;
== Grundkonzepte ==&lt;br /&gt;
&lt;br /&gt;
{{:BRK}}&lt;br /&gt;
=== Was ist Polymorphismus? ===&lt;br /&gt;
&lt;br /&gt;
Polymorphismus, vom Griechischen &amp;quot;poly&amp;quot; für viele und &amp;quot;morph&amp;quot; für Form, bezieht sich in der Informatik auf die Fähigkeit von Objekten, viele Formen anzunehmen. In der OOP bedeutet dies konkret, dass eine Variable, die nach einer Basisklasse deklariert wurde, Instanzen von sich selbst oder Instanzen von abgeleiteten Klassen (Unterklassen) aufnehmen kann. Diese Fähigkeit ermöglicht es Programmen, generisch zu sein und Operationen auf Objekten verschiedener Klassen auszuführen, die dieselbe Schnittstelle oder Basisklasse teilen.&lt;br /&gt;
&lt;br /&gt;
{{:BRK}}&lt;br /&gt;
=== Arten von Polymorphismus ===&lt;br /&gt;
&lt;br /&gt;
In der OOP gibt es hauptsächlich zwei Arten von Polymorphismus:&lt;br /&gt;
{{o}} [[Ad-hoc-Polymorphismus]]: Dieser Typ wird meist durch Funktionsüberladung (Function Overloading) und Operatorenüberladung (Operator Overloading) erreicht.&lt;br /&gt;
{{o}} [[Subtyp-Polymorphismus]]: Auch bekannt als Vererbungspolymorphismus, ermöglicht es Objekten einer abgeleiteten Klasse, als Objekte der Basisklasse behandelt zu werden.&lt;br /&gt;
&lt;br /&gt;
{{:BRK}}&lt;br /&gt;
== Implementierung und Anwendung ==&lt;br /&gt;
&lt;br /&gt;
{{:BRK}}&lt;br /&gt;
=== Implementierung in verschiedenen Programmiersprachen ===&lt;br /&gt;
&lt;br /&gt;
Die Implementierung und Nutzung von Polymorphismus variiert zwischen verschiedenen Programmiersprachen:&lt;br /&gt;
{{o}} In [[Java]] wird Polymorphismus häufig durch Vererbung und das Überschreiben von Methoden (Method Overriding) sowie durch Interfaces realisiert.&lt;br /&gt;
{{o}} In [[C++]] kann Polymorphismus durch Vererbung, virtuelle Funktionen und Templates erreicht werden.&lt;br /&gt;
{{o}} [[Python]] unterstützt Polymorphismus durch Duck Typing, wo die Methoden und Eigenschaften eines Objekts seine Zugehörigkeit zu einem Typ bestimmen.&lt;br /&gt;
&lt;br /&gt;
{{:BRK}}&lt;br /&gt;
=== Vorteile des Polymorphismus ===&lt;br /&gt;
&lt;br /&gt;
Die Nutzung von Polymorphismus in der Programmierung bietet mehrere Vorteile:&lt;br /&gt;
{{o}} [[Flexibilität]]: Programme können allgemeiner und flexibler gestaltet werden.&lt;br /&gt;
{{o}} [[Wiederverwendbarkeit]]: Code kann leichter wiederverwendet werden, was die Entwicklung effizienter macht.&lt;br /&gt;
{{o}} [[Erweiterbarkeit]]: Software kann leichter erweitert und angepasst werden, ohne bestehenden Code umfassend ändern zu müssen.&lt;br /&gt;
&lt;br /&gt;
{{:BRK}}&lt;br /&gt;
== Interaktive Aufgaben ==&lt;br /&gt;
&lt;br /&gt;
{{:BRK}}&lt;br /&gt;
== Quiz: Teste Dein Wissen ==&lt;br /&gt;
&lt;br /&gt;
{{:Multiple-Choice Anfang}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Was beschreibt Polymorphismus in der OOP am besten?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
(Eine Eigenschaft von Objekten, verschiedene Formen anzunehmen)&lt;br /&gt;
(!Ein spezifischer Algorithmus zur Datenverschlüsselung)&lt;br /&gt;
(!Eine Technik zum Schreiben von fehlerfreiem Code)&lt;br /&gt;
(!Eine Programmiersprache, die speziell für objektorientierte Programmierung entwickelt wurde)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Welche Art von Polymorphismus ermöglicht es, dass eine Variable der Basisklasse Instanzen von abgeleiteten Klassen halten kann?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
(Subtyp-Polymorphismus)&lt;br /&gt;
(!Ad-hoc-Polymorphismus)&lt;br /&gt;
(!Duck Typing)&lt;br /&gt;
(!Templates)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Welche Programmiersprache implementiert Polymorphismus primär durch Duck Typing?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
(Python)&lt;br /&gt;
(!Java)&lt;br /&gt;
(!C++)&lt;br /&gt;
(!C#)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Welcher Vorteil ist KEIN direktes Ergebnis des Polymorphismus?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
(!Automatische Fehlerkorrektur im Code)&lt;br /&gt;
(Flexibilität)&lt;br /&gt;
(Wiederverwendbarkeit)&lt;br /&gt;
(Erweiterbarkeit)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Wie wird Polymorphismus in C++ hauptsächlich erreicht?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
(Durch Vererbung und virtuelle Funktionen)&lt;br /&gt;
(!Durch statische Methoden und Klassen)&lt;br /&gt;
(!Durch Inline-Funktionen)&lt;br /&gt;
(!Durch Prozeduren)&lt;br /&gt;
&lt;br /&gt;
{{:Multiple-Choice Ende}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{:BRK}}&lt;br /&gt;
== Memory ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;memo-quiz&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| Ad-hoc-Polymorphismus || Funktionsüberladung&lt;br /&gt;
|-&lt;br /&gt;
| Subtyp-Polymorphismus || Vererbung&lt;br /&gt;
|-&lt;br /&gt;
| Java || Interfaces&lt;br /&gt;
|-&lt;br /&gt;
| Python || Duck Typing&lt;br /&gt;
|-&lt;br /&gt;
| C++ || Virtuelle Funktionen&lt;br /&gt;
|}&lt;br /&gt;
{{:Memo Ende}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{:BRK}}&lt;br /&gt;
== Kreuzworträtsel ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;kreuzwort-quiz&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| polymorphismus || Fähigkeit von Objekten, viele Formen anzunehmen&lt;br /&gt;
|-&lt;br /&gt;
| vererbung || Mechanismus zur Implementierung von Subtyp-Polymorphismus&lt;br /&gt;
|-&lt;br /&gt;
| ducktyping || Typisierungsstil in Python, der Polymorphismus ermöglicht&lt;br /&gt;
|-&lt;br /&gt;
| interface || Schnittstelle in Java zur Realisierung von Polymorphismus&lt;br /&gt;
|-&lt;br /&gt;
| template || Technik in C++ zur Unterstützung von Ad-hoc-Polymorphismus&lt;br /&gt;
|-&lt;br /&gt;
| overload || Vorgang der Funktionsüberladung&lt;br /&gt;
|-&lt;br /&gt;
| override || Vorgang des Überschreibens von Methoden&lt;br /&gt;
|-&lt;br /&gt;
| virtuell || Schlüsselwort für virtuelle Funktionen in C++&lt;br /&gt;
|}&lt;br /&gt;
{{:Kreuzwort Ende}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== LearningApps ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;iframe&amp;gt; https://learningapps.org/index.php?s=Polymorphismus+in+der+objektorientierten+Programmierung &amp;lt;/iframe&amp;gt;&lt;br /&gt;
== Lückentext ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;quiz display=simple&amp;gt;&lt;br /&gt;
{&amp;#039;&amp;#039;&amp;#039;Vervollständige den Text.&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;&lt;br /&gt;
|type=&amp;quot;{}&amp;quot;}&lt;br /&gt;
Polymorphismus in der objektorientierten Programmierung ermöglicht, dass Objekte { verschiedener Klassen } durch die gleiche Schnittstelle behandelt werden können. Dies unterstützt die { Flexibilität } und { Wiederverwendbarkeit } von Code. Eine der Hauptarten des Polymorphismus ist der { Subtyp-Polymorphismus }, der durch Vererbung realisiert wird.&lt;br /&gt;
&amp;lt;/quiz&amp;gt;&lt;br /&gt;
{{:BRK}}&lt;br /&gt;
= Offene Aufgaben =&lt;br /&gt;
&lt;br /&gt;
{{:BRK}}&lt;br /&gt;
=== Leicht ===&lt;br /&gt;
{{o}} [[Implementiere eine einfache Vererbungshierarchie in Java]]: Erstelle zwei Klassen, von denen eine die Basisklasse für die andere ist. Implementiere eine Methode, die in der abgeleiteten Klasse überschrieben wird.&lt;br /&gt;
{{o}} [[Erkunde Duck Typing mit Python]]: Schreibe ein kleines Programm in Python, das Duck Typing demonstriert.&lt;br /&gt;
{{o}} [[Untersuche die Nutzung von Interfaces in Java]]: Erstelle ein Interface und zwei Klassen, die dieses Interface implementieren.&lt;br /&gt;
&lt;br /&gt;
=== Standard ===&lt;br /&gt;
{{o}} [[Erstelle eine kleine Anwendung, die Polymorphismus nutzt]]: Entwickle eine Anwendung in einer Programmiersprache Deiner Wahl, die Polymorphismus zur Lösung eines Problems verwendet.&lt;br /&gt;
{{o}} [[Vergleiche Ad-hoc-Polymorphismus und Subtyp-Polymorphismus]]: Schreibe einen kurzen Bericht über die Unterschiede zwischen Ad-hoc-Polymorphismus und Subtyp-Polymorphismus.&lt;br /&gt;
{{o}} [[Diskutiere die Vorteile von Polymorphismus in der Softwareentwicklung]]: Führe ein Interview mit einem Softwareentwickler über die Rolle des Polymorphismus in der Softwareentwicklung.&lt;br /&gt;
&lt;br /&gt;
=== Schwer ===&lt;br /&gt;
{{o}} [[Analysiere die Implementierung von Polymorphismus in verschiedenen Programmiersprachen]]: Vergleiche, wie Polymorphismus in mindestens drei verschiedenen Programmiersprachen implementiert wird.&lt;br /&gt;
{{o}} [[Entwirf ein komplexes System, das intensiv von Polymorphismus Gebrauch macht]]: Plane ein System, das verschiedene Aspekte von Polymorphismus nutzt, um flexible und wiederverwendbare Softwarekomponenten zu erstellen.&lt;br /&gt;
{{o}} [[Leite eine eigene Studie zur Effizienz von Polymorphismus in großen Softwareprojekten]]: Untersuche, wie Polymorphismus in großen Softwareprojekten zur Effizienzsteigerung beiträgt.&lt;br /&gt;
&lt;br /&gt;
{{:Offene Aufgabe - MOOC erstellen}}&lt;br /&gt;
&lt;br /&gt;
{{:BRK}}&lt;br /&gt;
= Lernkontrolle =&lt;br /&gt;
&lt;br /&gt;
{{:BRK}}&lt;br /&gt;
{{o}} [[Erkläre, wie Polymorphismus die Wartung von Software erleichtert]]: Diskutiere, wie Polymorphismus zur Vereinfachung der Wartung und Aktualisierung von Software beiträgt.&lt;br /&gt;
{{o}} [[Analysiere einen Codeausschnitt auf Polymorphismus]]: Gebe einen kurzen Codeausschnitt und erkläre, wie Polymorphismus in diesem Beispiel genutzt wird.&lt;br /&gt;
{{o}} [[Gestalte eine Aufgabe, die den Einsatz von Polymorphismus in einem realen Szenario erfordert]]: Entwickle eine Aufgabe, in der die Schüler einen realen Anwendungsfall für Polymorphismus in der Softwareentwicklung identifizieren und lösen müssen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
= OERs zum Thema =&lt;br /&gt;
&amp;lt;iframe&amp;gt; https://de.m.wikipedia.org/wiki/Polymorphismus_(Informatik) &amp;lt;/iframe&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
= Links =&lt;br /&gt;
&lt;br /&gt;
{| align=center&lt;br /&gt;
{{:D-Tab}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Polymorphismus in der OOP&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
{{o}} [[Polymorphismus - Ad-hoc-Polymorphismus|Ad-hoc-Polymorphismus]]&lt;br /&gt;
{{o}} [[Polymorphismus - Subtyp-Polymorphismus|Subtyp-Polymorphismus]]&lt;br /&gt;
{{o}} [[Polymorphismus - Implementierung in Java|Implementierung in Java]]&lt;br /&gt;
{{o}} [[Polymorphismus - Implementierung in C++|Implementierung in C++]]&lt;br /&gt;
{{o}} [[Polymorphismus - Implementierung in Python|Implementierung in Python]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Teilen - Diskussion - Bewerten =&lt;br /&gt;
{{:Teilen - MOOCit}}&lt;br /&gt;
[[Kategorie:AI_MOOC]] [[Kategorie:GPT aiMOOC]] [[Kategorie:Informatik]]&lt;/div&gt;</summary>
		<author><name>Glanz</name></author>
	</entry>
</feed>