Skip to main content

Was ist die Überlastung des Bedieners?

Operator Overloading ist eine Funktion für Computerprogrammiersprache, mit der ein Programmierer einen Standardbetreiber überschreiben kann.Wenn die Operatorfunktion überladen ist, kann sie mit benutzerdefinierten Argumenten deklariert werden, die unterschiedliche Datentypen sind als das, was der Bediener standardmäßig behandeln konnte.Die neuen Parameter können primitive oder benutzerdefinierte Typen sein.Innerhalb des Körpers der übergeordneten Funktion kann ein Programmierer die gewünschten Parameterwerte manipulieren.Durch die Verwendung der Bedienerüberladung kann ein Programmierer intuitive Verknüpfungen zum Manipulieren benutzerdefinierter Datentypen erstellen oder wie Standarddatentypen verarbeitet werden.

Wenn benutzerdefinierte Datentypen erstellt werden, gibt es keine Möglichkeit, einfache Betriebsaufgaben zu erledigen, z. B. das Hinzufügen von zweivon ihnen zusammen oder inkrementiert interne Daten mit dem Unary Increment Operator mit dem Datentyp.Operatoren, einschließlich des Additionsymbols, können überschrieben werden, sodass sie ein benutzerdefiniertes Ergebnis zurückgeben, wenn sie als binäre Operatoren zwischen zwei benutzerdefinierten Datentypen zurückgegeben werden.Auf die gleiche Weise kann ein unärer Operator wie der Inkrementierungsoperator überschrieben werden, um einen internen Wert innerhalb des benutzerdefinierten Typs zu erhöhen.ein überlasteter Operator.Der Compiler entscheidet die richtige Maßnahme, um basierend auf den Datentypen als Operanden oder in Verbindung mit dem Bediener zu ergreifen.Wenn die Operanden, die Parameterwerte für die Bedienerfunktion sind, benutzerdefinierte Datentypen sind, wählt der Compiler die überlastete Funktion mit Parametern aus, die den verwendeten Operanden entsprechen.Hoc -Polymorphismus.Verschiedene Sprachen können die Erstellung neuer benutzerdefinierter Operatoren ermöglichen, die Überlastung aller oder einiger seiner Operatoren oder möglicherweise überhaupt nicht das Überladen des Bedieners zulassen.C ++, C#, PHP und Perl ermöglichen es einigen ihrer Operatoren, überladen zu werden.Die Überladung des Bedieners ist in C, Java und JavaScript nicht zulässig.

Sowohl die Überladung als auch die Funktion über die Funktionsüberlastung im Allgemeinen waren Gegenstand einer Debatte.Einige behaupten, dass der Programmierer die Freiheit, die Art und Weise zu ändern, wie sich ein Bediener verhält, das Potenzial zur Erstellung unbeabsichtigter Fehler durch andere Programmierer einführen könnte, die den angepassten Code verwenden.Der entgegengesetzte Standpunkt schlägt vor, dass die Überlastung des Bedieners den Programmierern die Fähigkeit zur Erstellung intuitiver und prägnanter Code bietet, die einfacher zu verstehen sind, die Erzeugung weniger kosten und Fehler reduzieren.