Was ist Methodenüberladung?

Methodenüberladung ist eine Funktion in den meisten objektorientierten Programmiersprachen, in denen zwei oder mehr Methoden denselben Namen teilen, jedoch unterschiedliche Parameter haben. Insbesondere sind die Zahl, der Datentyp und/oder die Reihenfolge der Parameter unterschiedlich. Wenn der Code kompiliert wird, wird die richtige Methode automatisch ausgewählt, basierend auf dem Aufrufen des Aufrufens. Methoden werden auch in einigen Programmiersprachen als Funktionen bezeichnet. Daher wird die Überladung von Methoden manchmal als Funktionsüberladung bezeichnet. Es kann als GetArea (Square S) definiert werden. Diese Methode könnte überladen werden, um den Bereich des Kreises zusätzlich durch Hinzufügen der Methode GetArea (Kreis C) zu berechnen. Ihre Methodensignaturen - der Methodenname, die Anzahl der Parameter und die Parameterdatentypen - sollten ansonsten eindeutig sein. Auf diese Weise thE Compiler kann bestimmen, welche Methode ausführen soll. Dies geschieht, um ein Objekt mit Nicht-Default-Werten zu initialisieren. Beispielsweise kann ein Mitarbeiterobjekt mit zwei Feldern (Name und Geburtsdatum oder DOB) die folgenden überlasteten Konstruktoren haben: Mitarbeiter (), Mitarbeiter (Name) und Mitarbeiter (Name, Dob). Der erste Konstruktor erstellt ein Mitarbeiterobjekt mit leerem Namen und DOB -Feldern. Der zweite legt das Feld Namen fest, lässt aber das DOB -Feld leer, und der dritte definiert sowohl die Namen als auch die DOB -Felder.

Die Überladung von

Methoden wird am häufigsten durchgeführt, damit mehr als eine Methode logisch als einzelne Methode angezeigt werden. In dem Beispiel von GetArea (), während es physikalisch zwei Methoden gibt, wird dem Anrufer eine einzelne, logische GetArea () -Methode angezeigt. Auf diese Weise kann GetArea () erweitert werden, um an anderen Formen zu arbeiten - Dreiecke, Trapezoide, and so on - während er sich noch logisch als einzelne Methode darstellt.

Methoden werden ebenfalls überladen, um die Kompatibilität rückwärts zu bewahren. Eine Methode, die eine komplexe Berechnung durchführt, könnte eine neue Anforderung erhalten, um optional die gleiche Berechnung mit einer leichten Änderung durchzuführen. Zu der Methode wird ein neuer Parameter hinzugefügt, mit dem bestimmt wird, wie die Berechnung durchgeführt wird - die alte Art oder den neuen Weg.

Um zu vermeiden, dass alle Fälle, in denen die Methode aufgerufen wird, und den neuen Parameter hinzuzufügen, kann die Methode überladen werden. Die neue Methode hat die alte Signatur und wird nach vorhandenem Code aufgerufen. Es enthält keine Logik selbst und ruft einfach die modifizierte Methode auf und übergibt für den neuen Parameter standardmäßig „alte Weise“. Der neue Code ruft die geänderte Methode auf und übergibt den neuen Parameter mit dem entsprechenden Wert, alten Weg oder neuen Weg.

Methodenüberladung ist eine Art Polymorphismus, bei dem dieselbe logische Methode in der Praxis auf verschiedene Weise verwendet werden kann. MichDie Überladung ist nicht dasselbe wie die Überschreitung von Methoden. Überschreiben von Methoden ist, wo die Definition einer Methode in einer übergeordneten Klasse von einer untergeordneten Klasse geändert wird. In diesem Fall haben beide Methoden die gleiche Signatur.

ANDERE SPRACHEN

War dieser Artikel hilfreich? Danke für die Rückmeldung Danke für die Rückmeldung

Wie können wir helfen? Wie können wir helfen?