Polymorphismus ist das Konzept, mit dessen Hilfe einzelne Aktionen auf unterschiedliche Weise ausgeführt werden können. Es leitet sich von zwei griechischen Wörtern ab: poly und morphs. „Poly“ bedeutet viele und „Morphs“ bedeutet Formen. Von nun an impliziert Polymorphismus viele Formen. Unter objektorientierter Programmierung versteht man die Fähigkeit einer Programmiersprache, Objekte abhängig von ihrer Klasse oder ihrem Datentyp unterschiedlich zu verarbeiten. Im Grunde können wir es als die Fähigkeit abgeleiteter Klassen definieren, Methoden neu zu definieren.
Starten Sie Ihren kostenlosen Softwareentwicklungskurs
Webentwicklung, Programmiersprachen, Softwaretests und andere
Die beiden Arten von Polymorphismus sind Polymorphismus zur Kompilierungszeit und Polymorphismus zur Laufzeit. Der Polymorphismus zur Kompilierungszeit wird durch Methodenüberladung und der Laufzeitpolymorphismus durch Methodenüberschreibung durchgeführt. Laufzeitpolymorphismus, auch Dynamic Method Dispatch genannt, ist ein Prozess, bei dem ein Aufruf einer überschriebenen Methode trotz Kompilierungszeit zur Laufzeit aufgelöst wird. Hierbei wird die überschriebene Methode über eine Referenzvariable einer übergeordneten Klasse aufgerufen. Außerdem kann Laufzeitpolymorphismus nicht durch Datenelemente erreicht werden.
Es handelt sich um eine objektorientierte Programmiereigenschaft. Mithilfe von Polymorphismus kann eine Klasse unterschiedliche Funktionalitäten aufweisen, selbst wenn sie über eine gemeinsame Schnittstelle verfügen. Somit können wir sagen, dass dieser langfristige Begriff ein Grundkonzept erklärt. Das Bemerkenswerte an Polymorphismus ist, dass für den gesamten Arbeitscode in verschiedenen Klassen keine Kenntnis der von ihm verwendeten Klasse erforderlich ist, da ihre Verwendung die gleiche ist.
Es handelt sich um eine objektorientierte Programmiereigenschaft. Mithilfe von Polymorphismus kann eine Klasse unterschiedliche Funktionalitäten aufweisen, selbst wenn sie über eine gemeinsame Schnittstelle verfügen. Somit können wir sagen, dass dieser langfristige Begriff ein sehr grundlegendes Konzept erklärt. Das Bemerkenswerte daran ist, dass der gesamte Arbeitscode in verschiedenen Klassen nicht über die von ihm verwendete Klasse Bescheid wissen muss, da ihre Verwendung die gleiche ist.
Stellen Sie sich ein reales Szenario für Polymorphismus vor. Nehmen Sie ein Beispiel für eine Schaltfläche. Wir wissen, dass wir auf die Schaltfläche klicken können, indem wir etwas Druck ausüben, aber wir kennen nicht die Wirkung des Drückens der Schaltfläche oder den Hinweis auf ihre Verwendung. Hierbei ist zu beachten, dass das Ergebnis keinen Einfluss auf die Art und Weise hat, wie es verwendet wird.
Das grundlegende Ziel besteht also darin, Objekte herzustellen, die je nach Bedarf austauschbar sind.
Wenn eine untergeordnete Klasse dieselbe Methode hat wie eine in der übergeordneten Klasse deklarierte, nennen wir sie eine Methodenüberschreibung.
Oder mit anderen Worten: Wenn eine untergeordnete Klasse die Implementierung der Methode bereitstellt, die ihre übergeordnete Klasse deklariert hat, spricht man von einer Methodenüberschreibung. Bestimmte Dinge, die Sie beim Überschreiben von Methoden beachten sollten, sind:
Wenn eine Klasse mehrere Methoden mit demselben Namen, aber unterschiedlichen Parametern hat, spricht man von Methodenüberladung.
Angenommen, wir müssen nur eine Operation ausführen, dann würde es die Lesbarkeit des Programms erhöhen, wenn wir denselben Namen wie die Methoden hätten. Möglichkeiten zum Überladen der Methode in Java sind:
In Java ist dies jedoch nicht möglich, wenn wir nur den Rückgabetyp der Methode ändern.
Abgesehen vom dynamischen Polymorphismus und dem statischen Polymorphismus weisen einige Java-Programmiermerkmale einen anderen Polymorphismus als die beiden Haupttypen auf.
Dies sind – Zwang, polymorphe Parameter und Operatorüberladung
Lassen Sie uns Zwang anhand eines sehr einfachen Beispiels verstehen. Betrachten Sie eine Zeichenfolge mit dem Wert „coercion class:“. Betrachten Sie eine andere ganze Zahl mit dem Wert 1. Was passiert nun, wenn Sie einen Zeichenfolgenwert mit einem ganzzahligen Wert verketten? Die Ausgabe dieser Verkettung wäre „Zwangsklasse: 1“. Das nennt man Zwang. Die implizite Typkonvertierung wird durchgeführt, um Typfehler zu vermeiden. Der Compiler macht es.
Bevor wir mit der Operatorüberladung, auch Methodenüberladung genannt, beginnen, gehen wir ein Beispiel durch. Betrachten Sie eine Zeichenfolge mit dem Wert „Operator“ und eine andere Zeichenfolge als „Overloading“. Verwenden Sie das Pluszeichen (+) mit diesen beiden Zeichenfolgen, genau wie Sie zwei Ganzzahlen addieren. Das (+) verkettet diese beiden Zeichenfolgen. Bei zwei Ganzzahlen wird die Summe zweier Ganzzahlen zurückgegeben. Wenn ein Symbol oder ein Operator die Möglichkeit hat, seine Bedeutung abhängig von der Art und Weise, wie er verwendet wird, zu ändern, wird die Art des gezeigten Polymorphismus als Operatorüberladung bezeichnet.
Beim Polymorphismus kann ein Objekt in vielen Formen erscheinen. In Java bezieht es sich darauf, den Zugriff auf ein Objekt auf eine der folgenden Arten zu ermöglichen, z. B. –
1. unter Verwendung der Referenzvariablen seiner Elternklasse oder Oberklasse
2. unter Verwendung der Referenzvariablen der Klasse, in der sie existiert.
Der Hauptgrund, warum Polymorphismus benötigt wird, besteht darin, dass dieses Konzept häufig bei der Implementierung der Vererbung verwendet wird. Es spielt eine wichtige Rolle dabei, dass Objekte unterschiedliche interne Strukturen haben können, indem sie dieselbe externe Schnittstelle teilen. Es wird deutlich als eines beschrieben, das vielen bekannt ist.
Binding verbindet einen Methodenaufruf mit dem Methodenkörper. Wir haben zwei Bindungsarten.
Statische Bindung (frühe Bindung): Wenn der Objekttyp zur Kompilierungszeit bestimmt wird.
Dynamische Bindung (späte Bindung):Wenn der Objekttyp zur Laufzeit bestimmt wird.
Es gilt daher als eines der sehr wichtigen Merkmale der objektorientierten Programmierung. Wenn Sie über ein reales Beispiel für Polymorphismus sprechen, könnte es sich um eine Person handeln, die gleichzeitig unterschiedliche Eigenschaften haben kann; Beispielsweise ist ein Mann gleichzeitig Sohn, Ehemann und Angestellter. Daher entwickelt dieselbe Person in unterschiedlichen Situationen unterschiedliche Verhaltensweisen. In objektorientierter Hinsicht wird dies Polymorphismus genannt, ein wichtiges Merkmal der objektorientierten Programmierung.
Das obige ist der detaillierte Inhalt vonWas ist Polymorphismus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!