Was ist polymorphismus?

Polymorphismus ist ein Grundkonzept der objektorientierten Programmierung (OOP). Es ermöglicht die Verwendung von Objekten verschiedener Klassen, die eine gemeinsame übergeordnete Klasse oder Schnittstelle haben, wodurch Methodenaufrufe je nach tatsächlichem Objekt unterschiedlich behandelt werden können.

Es gibt zwei Arten von Polymorphismus: statischer Polymorphismus (Compile-Zeit-Polymorphismus) und dynamischer Polymorphismus (Laufzeitpolymorphismus).

Statischer Polymorphismus tritt auf, wenn Überladung von Methoden verwendet wird. Hierbei haben mehrere Methoden denselben Namen, unterscheiden sich jedoch in der Anzahl oder den Typen der Parameter. Der Compiler wählt die entsprechende Methode anhand der bereitgestellten Parameter aus.

Dynamischer Polymorphismus tritt auf, wenn Vererbung und abstrakte Methoden verwendet werden. Eine Klasse kann eine Methode einer übergeordneten Klasse überschreiben oder eine abstrakte Methode implementieren. Wenn dann eine Instanz der Klasse erstellt wird und eine Methode aufgerufen wird, wird die Methode entsprechend der tatsächlichen Objektinstanz aufgerufen (und nicht entsprechend der deklarierten Klassenart).

Polymorphismus ermöglicht dadurch eine flexiblere und erweiterbare Programmierung. Es erleichtert auch die Wartung von Code, da Änderungen an einer übergeordneten Klasse sich auch auf alle davon abgeleiteten Klassen auswirken können.

Kategorien