Heim > Java > javaLernprogramm > Hauptteil

Was ist Polymorphismus?

王林
Freigeben: 2024-08-30 15:43:29
Original
990 Leute haben es durchsucht

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

Verstehen

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.

Wie macht Polymorphismus das Arbeiten so einfach?

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.

Was können Sie mit Polymorphismus tun?

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:

  • Die Methode muss denselben Namen haben wie eine in der übergeordneten Klasse erwähnte Methode
  • Die Methode muss außerdem denselben Parameter haben wie der in der übergeordneten Klasse erwähnte.
  • Es muss eine Vererbung geben, also eine IS-A-Beziehung.

Arbeiten Sie mit Polymorphismus?

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:

  • Ändern der Anzahl der Argumente
  • Ändern des Datentyps

In Java ist dies jedoch nicht möglich, wenn wir nur den Rückgabetyp der Methode ändern.

Vorteile

  • Es hilft Programmierern, den einmal geschriebenen Code und die Klassen wiederzuverwenden, um sie zu testen und zu implementieren. (Wiederverwendbarkeit des Codes)
  • Ein einzelner Variablenname kann Variablen mehrerer Datentypen speichern (int, float, double, long usw.).
  • Erhöht die Lesbarkeit des Programms.

Warum sollten wir Polymorphismus verwenden?

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

Zwang

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.

Bedienerüberlastung

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.

Parameter

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.

Warum brauchen wir Polymorphismus?

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.

Geltungsbereich

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.

Fazit

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!

Verwandte Etiketten:
Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage