Was ist Funktions-Überbelastung?

Die Funktionsüberbelastung ist eine Eigenschaft vieler Programmiersprachen, in denen mehrfache Methoden mit dem gleichen Namen aber mit verschiedenen Eingangsparametern oder Rückholarten verursacht werden können. Dieses ist eine allgemeine Eigenschaft in der objektorientierten Programmierung; Erbauer können die unterschiedliche Mehrfachverbindungsstelle insbesondere haben überbelasteten Varianten. Im Wesentlichen ist die Funktionsüberbelastung nützlich, wenn zwei Funktionen sehr ähnliche Sachen tun und mehrfache Arten des Einganges nehmen können, umso zu tun. Erbauer können leicht überbelastet werden, weil sie keine ausdrückliche Rückholart spezifizieren lassen und die Eingangsparameter eines Erbauers so einfach ändern, sein gültige Überbelastung.

Die erste Weise, in der eine Funktion überbelastet werden kann, ist, indem sie seine Eingangsparameter ändert. Z.B. kann man eine Funktion betrachten benannt „addieren“ dieses Nehmen als seine vollständigen Zahlen des Einganges zwei. Der Zweck dieser Funktion liegt ziemlich auf der Hand; es bedeutet, um die Summe von zwei vollständigen Zahlen zu finden.

Wenn man die Summe von zwei Hin- und Herbewegungen finden wollte oder dezimale Zahlen jedoch sein diese Funktion nicht anwendbar. So sein eine zweite überbelastete Funktion notwendig, definiert, da eine Funktion „addieren“ dieses Nehmen als seine Hin- und Herbewegungen des Einganges zwei benannte. Die Funktionen tun im Wesentlichen die gleiche Sache, aber die Funktionsüberbelastung ist notwendig, weil ihre Eingänge erheblich unterschiedlich sind.

Die zweite Weise, in der eine Funktion überbelastet werden kann, ist, seine Eingangsparameter und seine Rückholart zu ändern. Using das vorhergehende Beispiel kann man betrachten, wenn überbelastete beide Funktionen hatten eine leere Rückholart „addieren“; das heißt, zurückbrachten sie nichts nichts. Dieses sein noch gültige Funktionsüberbelastung, aber die Rückholarten der zwei Methoden konnten auch geändert werden. In einem anderen gültigen Fall der Überbelastung, Funktion „hinzufügen“, die zwei vollständige Zahlen könnte diese vollständige Zahlsumme zurückbringen nimmt und Funktion „addieren“, die zwei dezimale Zahlen könnte diese Summe der dezimalen Zahl zurückbringen nimmt.

Die Rückholart einer Funktion einfach, ändernd jedoch betrachtet nicht gültige Funktionsüberbelastung. Das Ändern nur der Rückholart einer Funktion ergibt Mehrdeutigkeit, weil es nicht von der Methodenunterzeichnung frei ist, die Rückholart gewünscht. Parameter können auch vieldeutig definiert werden, also ist es sehr wichtig für überbelastete Funktionen, richtig benannt zu werden. Z.B. wenn man eine überbelastete Funktion hat, die eine vollständige Zahl als sein Eingangsparameter hat, und anders, das eine dezimale Zahl als Parameter hat, sein es sehr einfach für jemand, die Funktion der dezimalen Zahl anstelle von der vollständigen Zahlfunktion versehentlich zu benennen oder umgekehrt, weil sie den gleichen Namen haben. Vieldeutige Parameter wie diese sollten vermieden werden, wenn möglich, und wenn sie nicht sein können, sollte große Sorgfalt angewendet werden, um zu garantieren, dass die korrekte überbelastete Funktion zu den korrekten Zeiten benannt.

Die Funktionsüberbelastung ist für die Schaffung der in Verbindung stehenden Funktionen mit mannigfaltigen Eingangsarten nützlich, und es gibt Code viel Flexibilität. Eine Schlussbetrachtung auf überbelasteten Funktionen ist, dass das ausreichende Kommentieren wesentlich ist. Obgleich es durch unterscheideneingangsparameter frei sein konnte, welche Version einer überbelasteten Funktion für eine bestimmte Situation recht ist, konnte es nicht frei immer genau sein, was die Funktion unterschiedlich zu seinen anderen überbelasteten Partnern tut.