• Startseite
  • Tutorials
  • Kontakt
  • Mein Account
Panjutorials
  • Startseite
  • Tutorials
  • Kontakt
  • Mein Account

Einführung in Polymorphismus in CSharp

In diesem Artikel erhältst du eine Einführung in Polymorphie in CSharp. Dabei handelt es sich um ein Konzept, welches ich zuerst einmal mittels der Definition von Wikipedia einleiten möchte:

Definition von Wikipedia

Polymorphie (griechisch für „Vielgestaltigkeit“), ist ein Konzept in Programmiersprachen, das die Fähigkeit eines Bezeichners beschreibt, abhängig von seiner Verwendung unterschiedliche Datentypen anzunehmen.

Das Gegenteil der Polymorphie ist die Monomorphie. Hier sind die Variable oder das Literal während der gesamten Laufzeit von genau einem Datentyp.

Da das eine etwas abstrakte Definition ist, versteht man das Prinzip der Polymorphie am besten anhand eines praktischen Beispiels.

Zuerst einmal jedoch etwa was wir bisher gelernt haben und nicht weiter hinterfragten:


DatenTyp referenzVariable = new Objekt();

Bisher haben wir es ja so gemacht:


BMW z4 = new BMW();

Wir können es jedoch auch so machen:

Beispiel für Polymorphie in CSharp


public class Panjutorials {	

	public static void Main(string[] args) {
		Auto einAuto[] = new Auto[2];
		einAuto[0] = new Audi();
		einAuto[1] = new BMW();

		for(int i=0; i<einAuto.Length; i++){
			einAuto[i].reparieren();
		}
	}

}

Wir erstellen also einen Array uas zwei Objekten des Typen Auto, Audi und BMW. Dann lassen wir eine for Schleife laufen die in jedem unserer Objekte die Funktion reparieren() aufruft. Als Grundlage dient hier der Artikel zur Vererbung.

Wir dürfen also unterschiedliche Objekte zu einem Array von Referenzvariablen zuordnen, solange der Datentyp der Referenzvariable von der Superklasse der Objekte ist – das ist Polymorphismus.

 

Für mehr Details zu Polymorphismus empfehle ich die Dokumentation zu C#