Was ist Funktion Überladen?

Funktion Überladen 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 in der objektorientierten Programmierung. Insbesondere Konstruktoren können mehrere verschiedene überlastete Varianten aufweisen. Im Wesentlichen ist das Überladen von Funktionen nützlich, wenn zwei Funktionen sehr ähnliche Dinge erledigen und dafür mehrere Arten von Eingaben ergreifen können. Konstruktoren können leicht überladen werden, da sie keinen expliziten Rückgabetyp angegeben haben. Daher ist das einfache Ändern der Eingabeparameter eines Konstruktors eine gültige Überladung. Zum Beispiel kann man eine Funktion namens "Add" als Eingabe zwei ganze Zahlen betrachten. 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, ist diese Funktion jedochIon wäre nicht anwendbar. Daher wäre eine zweite überlastete Funktion erforderlich, definiert als eine Funktion namens "Add", die als Eingabe zwei Schwimmer dauert. Die Funktionen tun im Wesentlichen dasselbe, aber Funktionsüberladen ist erforderlich, da ihre Eingaben erheblich unterschiedlich sind.

Die zweite Art und Weise, wie eine Funktion überlastet werden kann, besteht darin, sowohl ihre Eingabeparameter als auch deren Rückgabetyp zu ändern. 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

einfach den Rückgabetyp O ändern of Eine Funktion wird jedoch nicht als gültige Funktionsüberladung angesehen. Das Ändern der Rückgabetyp 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 überladene Funktionen richtig 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 Nummernfunktion aufzurufen oder umgekehrt, da er denselben Namen hat. Eindeutige Parameter wie diese sollten nach Möglichkeit vermieden werden, und wenn dies nicht der Fall ist, sollte es zu großem Sorgfalt werden, um sicherzustellen, dass die richtige überlastete Funktion zu den richtigen Zeiten aufgerufen wird.

Funktion Überladen ist nützlich, um verwandte Funktionen mit unterschiedlichen Eingabetypen zu erstellen, und ermöglicht Code viel Flexibilität. Eine letzte ÜberlegungBei überlasteten Funktionen ist das angemessene Kommentar von wesentlicher Bedeutung. Obwohl es durch unterschiedliche Eingabeparameter klar ist, welche Version einer überlasteten Funktion für eine bestimmte Situation ist, ist dies möglicherweise nicht immer klar, was die Funktion anders macht als ihre anderen überlasteten Partner.

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?