Dieses Schreiben enthält einen gründlichen Überblick über Arten von Polymorphismus, wie unten aufgeführt:
Also lasst uns anfangen!
Was ist Polymorphismus in Java
Das Wort Polymorphismus ist eine Kombination von zwei griechischen Wörtern Poly bedeutet viele und Morphs bedeutet Formen daher kombiniert das Wort Polymorphismus bedeutet viele/mehrere Formen. Mit Polymorphismus können wir eine bestimmte Aufgabe auf verschiedene Weise ausführen
Beispiel
Betrachten wir die unten aufgeführten Beispiele der realen Welt, um das Konzept des Polymorphismus zu verstehen:
Tiere klingt: Löwen brüllen, Hundebellen, Pferdehaus und so weiter.
Lassen Sie uns nun das oben gegebene Konzept in Bezug auf die Java-Programmierung verstehen, in diesem Beispiel die Tiere ist eine Klasse und "Geräusche()" ist seine Methode:
Hier Tiere ist eine allgemeine Klasse, die nicht nur mit einem Geräusch wie einem Dröhnen oder Rinde usw. eingeschränkt werden kann. Eine Klasse hat also eine generische Implementierung, die von den anderen Klassen erweitert werden kann.
Außerdem, Löwe, Hund, Und Pferd (Unterklassen) können die Eigenschaften der übergeordneten Klasse verlängern Tier. Die untergeordneten Klassen erben die Funktion ihrer übergeordneten Klasse und können die Implementierung dieser Funktion außer Kraft setzen.
Mit dem Polymorphismus in Java können Sie dieselbe Methode verwenden, um verschiedene Funktionen auszuführen. In Java kann Polymorphismus mittels Kompilierungszeit oder Laufzeit erreicht werden.
Statische/Kompilierungs-Zeit-Polymorphismus in Java
Im Kompilierzeitpolymorphismus sind die Objekte von CALS mit den Methoden bei der Kompilierungszeit begrenzt. Der Kompilierzeitpolymorphismus wird vom Compiler behandelt und unterstützt das Konzept der Methodenüberlastung.
Die Methodenüberladung im Kompilierungs-Zeit-Polymorphismus ermöglicht es einer Klasse, mehrere Methoden mit demselben Namen zu erstellen, jedoch unterschiedliche Implementierungen in Bezug auf Parameter. Und es gibt einige Regeln für diese Parameter, wie unten aufgeführt:
Wir können mehrere Methoden mit demselben Namen erstellen, jedoch mit einer anderen Reihenfolge/Reihenfolge der Parameter.
Wir können mehr als eine Methode mit demselben Namen erstellen, jedoch mit unterschiedlichen Datentypen von Parametern:
Wir können mehrere Methoden mit demselben Namen erstellen, jedoch mit einer anderen Anzahl von Parametern.
Betrachten wir ein Beispiel für das tiefgreifende Verständnis des Kompilierungszeitpolymorphismus:
Beispiel
In diesem Beispiel haben wir zwei Klassen erstellt:
Multiplikation.Java
Der Multiplikation Die Klasse erstellt drei Methoden mit demselben Namen "Produkt()", Die erste Methode erfordert zwei Ganzzahlwerte, die zweite nimmt zwei Doppelwerte und die dritte drei Ganzzahlwerte:
Paket Haupt;Der Screenshot des oben gegebenen Codes ist wie folgt:
Hauptsächlich.Java
Innerhalb der Hauptsächlich Klasse haben wir das Objekt der Multiplikationsklasse erstellt und alle drei Methoden der aufgerufen Multiplikation Klasse:
Paket Haupt;Der vollständige Code des Hauptsächlich Die Klasse ist in der folgenden Abbildung dargestellt:
Die Ausgabe wird so verlaufen:
Aus der obigen Ausgabe beobachten wir das:
Als wir die beiden bestanden haben int Werte dann die Produkt Methode mit zwei int Parameter werden ausgeführt.
Als wir die drei bestanden haben int Werte dann die Produkt Methode mit drei int Parameter werden ausgeführt.
In ähnlicher Weise, als wir die beiden bestanden haben doppelt Werte dann die Produkt Methode mit zwei doppelt Parameter werden ausgeführt.
Dynamik/Laufzeitpolymorphismus in Java
In Laufzeit Polymorphismus, die Objekte sind zur Laufzeit mit den Methoden begrenzt (dynamische Bindung). Der dynamische oder Laufzeitpolymorphismus unterstützt das Konzept von Methodenüberschreibung.
Schauen wir uns das untergegebene Beispiel für das tiefgreifende Verständnis des Laufzeitpolymorphismus an.
Beispiel
Der folgende Code -Snippet erstellt drei Klassen: Person, Angestellte, Und Abteilung, Die Person Klasse ist eine Elternklasse, die Mitarbeiter Klasse erstreckt sich Person Klasse und Abteilung Klassenentends Mitarbeiter Klasse.
KlassenpersonDie Kinderklassen erweitern die drucken() Methode aus ihren übergeordneten Klassen und sie haben auch ihre eigene Implementierung dieser Print () -Methode. Und innerhalb der Hauptmethode erstellen wir das Objekt jeder Klasse und rufen die auf drucken() Methode mit dem jeweiligen Klassenobjekt. Der vollständige Code und die Ausgabe finden Sie im folgenden Screenshot:
Die obige Ausgabe überprüft, dass sie die Implementierung der übergeordneten Klassen -Print () -Funktion überschreiben, wenn wir die Druckfunktionen mit jedem untergeordneten Klassenobjekt aufrufen.
Abschluss
Mit Polymorphismus können wir mehrere Methoden mit demselben Namen erstellen, jedoch mit unterschiedlichen Implementierungen in den Eltern- und Kinderklassen. Es kann entweder zur Kompilierungszeit erreicht werden, was das Konzept der Methodenüberlastung oder zur Laufzeit unterstützt. Dieses Schreiben enthält einen detaillierten Überblick über die Laufzeit und den Kompilierzeitpolymorphismus und erklärt, was Polymorphismus, seine Typen und Regeln für die Implementierung jedes Typs ist.