In der Informatik bezieht sich Polymorphismus auf die Fähigkeit einer Programmiersprache, Objekte basierend auf ihrer Klasse oder ihrem Datentyp auf unterschiedliche Weise zu interpretieren. Im Wesentlichen ist es die Fähigkeit einer einzelnen Methode, auf abgeleitete Klassen angewendet zu werden und eine ordnungsgemäße Ausgabe zu erzielen.
Sie können sich dieses Wort merken, indem Sie es zerlegen. Das Wort „poly“ bedeutet „viele“ und „morph“ bedeutet „Form“.
Drei Zweige des Polymorphismus
-
Ad-hoc-Polymorphismus liegt vor, wenn eine Funktion abhängig von einer begrenzten Anzahl von angegebenen Typen und Kombinationen von Eingabeparametern unterschiedlich implementiert wird. Ein Beispiel für Ad-hoc-Polymorphismus ist das Überladen von Funktionen.
-
Parametrischer Polymorphismus liegt vor, wenn Code ohne Angabe des Typs geschrieben wird und daher mit einer beliebigen Anzahl von verschiedenen Typen verwendet werden kann, die später angegeben werden. In der objektorientierten Programmierung wird dies oft als generische Programmierung bezeichnet.
-
Einschlusspolymorphismus, auch als Subtypisierung bekannt, liegt vor, wenn sich ein einzelner Name auf viele Instanzen verschiedener Klassen bezieht, solange sie dieselbe Oberklasse teilen.
Beispiel für Polymorphismus in Java
Beispielcode
class OverloadedObject { void overloadedMethod (int a) { System.out.println("This method is called when the parameter is an integer. a = " + a); } void overloadedMethod (int a, int b) { System.out.println("This method is called when there are two parameters, and they are both integers. a = " + a + ", b = " + b); } void overloadedMethod (double a) { System.out.println("This method is called when there is one parameter, and it is a double-precision number. a = " + a); } } class DemonstrateOverloading { public static void main (String args []) { OverloadedObject myObj = new OverloadedObject(); myObj.overloadedMethod(1); myObj.overloadedMethod(2, 3); myObj.overloadedMethod(4); } }
Beispielcodeausgabe
This method is called when the parameter is an integer. a = 1 This method is called when there are two parameters, and they are both integers. a = 2, b = 3 This method is called when the parameter is a double-precision number. a = 4
Beachten Sie, dass es basierend auf unterschiedlichen Eingabeparametern unterschiedliche Ausgaben erzeugt, obwohl die aufgerufenen Klassen- und Methodennamen jedes Mal gleich sind.
Objektorientiert, Ausgabe, Parameter, Polymorpher Virus, Programmiersprache, Programmierbegriffe