Skip to main content

Was ist Funktion Überladen?

Funktion Überladung ist eine Funktion vieler Programmiersprachen, bei denen mehrere Methoden mit demselben Namen erstellt werden können, jedoch mit unterschiedlichen Eingabeparametern oder Rückgabetypen.Dies ist ein häufiges Merkmal bei der objektorientierten Programmierung.Insbesondere Konstruktoren können mehrere verschiedene überlastete Varianten aufweisen.Im Wesentlichen ist die Überladung von Funktionen nützlich, wenn zwei Funktionen sehr ähnliche Dinge erledigen und dafür mehrere Arten von Eingaben einnehmen können.Konstruktoren können leicht überladen werden, da sie keinen expliziten Rückgabetyp enthalten. Daher ist das einfache Ändern der Eingabeparameter eines Konstruktors eine gültige Überladung.

Die erste Art und Weise, wie eine Funktion überlastet werden kann, besteht darin, ihre Eingabeparameter zu ändern.Zum Beispiel kann man eine Funktion namens add betrachten, die als Eingabe zwei ganze Zahlen nimmt.Der Zweck dieser Funktion ist ziemlich offensichtlich;Es soll die Summe von zwei ganzen Zahlen finden.

Wenn man die Summe von zwei Schwimmer oder Dezimalzahlen finden wollte, wäre diese Funktion nicht anwendbar.Daher wäre eine zweite überlastete Funktion erforderlich, definiert als eine Funktion namens add, die als Eingabe zwei Schwimmer nimmt.Die Funktionen tun im Wesentlichen dasselbe, aber Funktionsüberladung ist erforderlich, da ihre Eingaben erheblich unterschiedlich sind.Mit dem vorherigen Beispiel kann man berücksichtigen, ob beide überlasteten Add -Funktionen einen Hohlraum -Rückgabetyp hatten.Das heißt, sie haben nichts zurückgegeben.Dies wäre immer noch eine gültige Funktion Überladung, aber die Rückgabetypen der beiden Methoden könnten ebenfalls geändert werden.In einer anderen gültigen Instanz des Überladens könnte die Funktion hinzufügen, die zwei ganze Zahlen erfordert, wird nicht als gültige Funktion Überladung angesehen.Das Ändern des Rückkehrtyps einer Funktion führt zu Unklarheiten, da aus der Methodensignatur, die gewünscht wird, nicht klar ist.Parameter können auch mehrdeutig definiert werden, daher ist es sehr wichtig, dass überlastete Funktionen ordnungsgemäß aufgerufen werden.Wenn beispielsweise eine überlastete Funktion hat, die eine ganze Zahl als Eingabeparameter hat und eine andere, die eine Dezimalzahl als Parameter hat, wäre es für jemanden sehr einfach, die Dezimalzahlfunktion anstelle der gesamten Zahlfunktion aufzurufenoder umgekehrt, weil sie den gleichen Namen haben.Mehrdeutige Parameter wie diese sollten nach Möglichkeit vermieden werden, und wenn dies nicht der Fall ist, sollte große Sorgfalt darauf geachtet werden, dass die richtige überlastete Funktion zu den richtigen Zeiten aufgerufen wird.und es gibt Code viel Flexibilität.Eine letzte Überlegung bei überlasteten Funktionen ist, dass angemessene Kommentare unerlässlich sind.Obwohl es durch unterschiedliche Eingabeparameter klar ist, welche Version einer überlasteten Funktion für eine bestimmte Situation richtig ist, ist dies möglicherweise nicht immer klar, was die Funktion anders macht als ihre anderen überlasteten Partner.