Typen
Um zu verstehen, worum es beim Polymorphismus geht, müssen wir die Schlüsselbegriffe verstehen, einer davon sind die Typen, ein Typ ist die Definition, die aus einer Klasse generiert wird, weshalb wir zwei zusätzliche verwandte Konzepte haben.
Damit definieren wir die Konzepte, die uns helfen, den Polymorphismus zu verstehen. Wenn wir das Beispiel etwas ausführlicher darstellen, können wir sagen, dass ein Kreis immer vom Typ FiguraGeometrica ist , aber nicht alle Typen von FiguraGeometrica sind vom Typ Circulo , wenn wir über das sprechen Von uns soeben definierte Klassen. Wenn wir beispielsweise jetzt eine Unterklasse erstellen, die von der Klasse FigureGeometrica abgeleitet ist und den Namen Rectangle trägt , haben wir jetzt einen neuen Untertyp, der immer noch den Typ FigureGeometrica hat, aber eine neue Form annimmt, und hier ist der Polymorphismus.
Praktisches Beispiel
Da wir die Theorie der Typen gesehen haben, können wir dann sagen, dass eine Unterklasse immer vom Typ ihrer Elternklasse sein wird, aber dass die Elternklasse nicht vom Typ ihrer Unterklasse oder Tochterklasse sein wird, mit ihr können wir dann folgendes sehen Beispiel: Wenn wir in einer Methode nach einem Objekt vom Typ FiguraGeometrica per Parameter fragen, damit wir seine vielen Formen erhalten können, können wir in diesem Fall ein Circle- oder Rectangle-Objekt erhalten, da beide den Supertyp gemeinsam haben, obwohl sie unterschiedlich sind.
Sehen wir uns im folgenden Bild einen Code an, der zeigt, wie sich eine Methode mit dem Polymorphismus verhalten würde:
In diesem Beispiel erwartet die Methode show object ein Objekt vom Typ FigureGeometrica . Wenn wir wissen, dass Circle und Rectangle Unterklassen von FigureGeometrica sind, können wir ihre Objekte an die Methode übergeben, da sie unterschiedliche Formen von FigureGeometrica haben und die Funktion erfüllen.
Wir haben bereits gelernt, die dritte Säule der Objektorientierung zu nutzen. Jetzt können wir umfangreichere Methoden erstellen, die in verschiedenen Implementierungen unserer Java- Programme wiederverwendet werden können.