Skip to main content

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 Aufruf.Methoden werden auch in einigen Programmiersprachen als Funktionen bezeichnet, sodass die Überladung von Methoden manchmal als Funktion Überladung bezeichnet wird.

Ein einfaches Beispiel für die Überladung von Methoden wäre eine Methode, die die Fläche eines Quadrats berechnet.Es kann als GetArea (Square S) definiert werden.Diese Methode könnte überladen werden, um zusätzlich den Bereich des Kreises durch Hinzufügen der Methode GetArea (Kreis C) zu berechnen.

Die primäre Anforderung für die Überladung der Methoden besteht darin, dass die Methoden denselben Namen teilen.Ihre Methodensignaturen mdash;der Methodenname, die Anzahl der Parameter und die Parameterdatentypen mdash;sollte sonst einzigartig sein.Auf diese Weise kann der Compiler bestimmen, welche Methode ausgeführt werden soll.

Konstruktoren, die Methoden zur Instanziierung von Objekten, werden häufig überladen.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.Das zweite legt das Feld Namen fest, lässt jedoch das DOB -Feld leer, und das dritte definiert sowohl die Namen als auch die DOB -Felder.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 und so weiter mdash;Während sie sich immer noch logisch als einzelne Methode präsentieren.

Methoden werden auch ü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.Der Methode wird ein neuer Parameter hinzugefügt, mit dem bestimmen, wie die Berechnung und MDASH durchführen.Der alte Weg oder der neue Weg.

Um nicht alle Fälle zu finden, in denen die Methode aufgerufen wird, und den neuen Parameter hinzuzufügen, kann die Methode überladen werden.Die neue Methode wird die alte Signatur haben und nach vorhandenem Code aufgerufen werden.Es enthält keine Logik selbst und ruft einfach die modifizierte Methode auf und übergibt für den neuen Parameter standardmäßig „Old Way“.Der neue Code ruft die modifizierte Methode auf und übergibt den neuen Parameter mit dem entsprechenden Wert, alten Weg oder neuen Weg.Die Überladung von Methoden ist nicht mit der Überschreitung der Methode gleich.Ü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.