Polymorphismus

Definiert eine Klasse eine abstrakte Methode und werden von dieser Klasse weitere Subklassen abgeleitet, in denen die Methode unterschiedlich implementiert ist, tritt Polymorphismus auf. Bei einem Aufruf wird dann anhand der Klasse des ersten Arguments entschieden, welche Methode in welcher Subklasse zur Ausführung kommt.

In Verbindung mit Multiple Dispatch kann Polymorphismus nicht nur in Abhängigkeit von einer Klasse auftreten, sondern die ausgeführte Methode von den Klassen aller beim Aufruf übergebenen Argumente abhängen.