Was ist Operator -Überlastung?

Operator -Überladung 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 erstellen, um benutzerdefinierte Datentypen zu manipulieren oder zu ändern, wie Standarddatentypen behandelt werden. Operatoren, einschließlich des Additionsymbols, können überschrieben werdenGeldstrafe. 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.

Sobald ein Bediener überlastet ist, muss der Compiler eine Entscheidung darüber treffen, was zu tun ist, wenn er auf einen überlasteten Bediener trifft. Der Compiler entscheidet die ordnungsgemäße 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.

Computersprachen variieren darin, wie sie diese Art von Ad-hoc-Polymorphismus ermöglichen. Verschiedene Sprachen können die Erstellung neuer benutzerdefinierter Operatoren ermöglichen, die Überlastung aller oder einiger seiner Operatoren oder möglicherweise überhaupt nicht zulassen. C ++, C#, PHP und PerlAlle ermöglichen es einigen ihrer Bediener, überladen zu werden. Operatorüberlastung ist in C, Java und JavaScript nicht erlaubt.

Die Überladung und Funktionsüberlastung des Bedieners 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 Möglichkeit gibt, intuitive und prägnante Code zu erstellen, die einfacher zu verstehen ist, die Erzeugung weniger kosten und Fehler reduzieren.

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?