Was ist Operator-Überbelastung?

Die Operatorüberbelastung ist eine ComputerProgrammierspracheeigenschaft, die einen Programmierer einen Rückstellungsoperator aufheben lässt. Wenn die Operatorfunktion überbelastet, kann es mit kundenspezifischen Argumenten erklärt werden, die verschiedene Datenarten als sind, was der Operator zur Behandlung durch Rückstellung fähig war. Die neuen Parameter können ursprüngliche oder verbraucherbestimmte Arten sein. Innerhalb des Körpers der vorrangigen Funktion, kann ein Programmierer die Parameterinhalte manipulieren, wie gewünscht. Indem er die Operatorüberbelastung verwendet, kann ein Programmierer intuitive Abkürzungen für manipulierende Arten der verbraucherbestimmten Daten verursachen oder ändern, wie Rückstellungsdatenarten behandelt.

Wenn Arten der verbraucherbestimmten Daten verursacht, gibt es keine Weise, einfache Betriebsaufgaben, wie zwei von ihnen zusammen addieren oder Erhöhen der internen Daten zu tun, indem man den Einstoffstufensprungoperator mit der Datenart verwendet. Operatoren, einschließlich das Zusatzsymbol, können aufgehoben werden damit, wenn sie verwendet, während binäre Operatoren zwischen zwei kundenspezifischen Datenarten sie ein verbraucherbestimmtes Resultat zurückbringen. Ebenso konnte ein monadischer Operator, wie der Zunahmeoperator, aufgehoben werden, um einen internen Wert innerhalb der verbraucherbestimmten Art zu erhöhen.

Sobald ein Operator überbelastet, muss der Compiler eine Entscheidung über was treffen zu tun, wenn er einen überbelasteten Operator antrifft. Der Kompilator entscheidet die korrekte Tätigkeit, um zu nehmen gegründet auf, welchen Datenarten als Rechengrößen benutzt oder in Verbindung mit, der Operator. Wenn die Rechengrößen, die Parameterinhalte zur Operatorfunktion sind, Arten der verbraucherbestimmten Daten sind, wählt der Compiler die überbelastete Funktion, die Parameter hat, die die Rechengrößen zusammenbringen, die verwendet.

Computersprachen schwanken in, wie sie diese Art der ad hoc Polymorphie erlauben. Verschiedene Sprachen können die Kreation der neuen kundenspezifischen Operatoren, der Überbelastung von allen oder der einiger seiner Operatoren erlauben oder können die Operatorüberbelastung möglicherweise nicht überhaupt erlauben. C++, C#, PHP und alle Perl erlauben einige ihrer Operatoren überbelastet zu werden. Die Operatorüberbelastung erlaubt nicht in C, in Java und im Javascript.

gewesen die Operatorüberbelastung und Funktionsim Allgemeinen überbelasten das Thema irgendeiner Debatte. Irgendein Anspruch den, dem Programmierer die Freiheit des Änderns der Weise gebend, ein Operator benimmt, könnte das Potenzial für die Schaffung der unbeabsichtigten Störungen durch andere Programmierer vorstellen, die den kundengebundenen Code verwenden. Die gegenüberliegende Veranschaulichung vorschlägt n, dass das das Erlauben der Operatorüberbelastung Programmierern der Fähigkeit der Schaffung des intuitiven und kurzen Codes gibt, der einfacher ist, kleiner zum Erzeugnis zu kosten zu verstehen, und Störungen zu verringern.