Wat Is Operator Overbelasting?

Operator overbelasting is een programmeertaal functie waarmee een programmeur om een ​​standaard operator overschrijven. Wanneer de operator functie overbelast, kan aangegeven worden met aangepaste argumenten die verschillende gegevenstypen dan wat de operator kan verwerken standaard was zijn. De nieuwe parameters kunnen zijn primitief of door de gebruiker gedefinieerde typen. Binnen het lichaam van de dwingende functie kan een programmeur de parameterwaarden manipuleren zoals gewenst. Door het gebruik van operator overbelasting, kan een programmeur intuïtieve snelkoppelingen maken voor het manipuleren van de gebruiker gedefinieerde data types of aan te passen hoe standaard typen gegevens worden verwerkt.

Wanneer de gebruiker gedefinieerde gegevenstypen worden gemaakt, is er geen manier om eenvoudige operationele taken, zoals het toevoegen van twee te zamen of verhogen interne gegevens met unaire increment operator met het gegevenstype doen. Ondernemers, waaronder de toevoeging symbool, kan worden overschreven, zodat als ze gebruikt worden als een binaire operatoren tussen twee typen aangepaste gegevens die ze naar aanleiding gebruiker gedefinieerde terugkeren. Op dezelfde wijze, een unaire operator, zoals de incrementering operator kan worden overschreven om een ​​interne waarde binnen het de gebruiker gedefinieerde verhogen.

Zodra een operator is overbelast, de compiler heeft om een ​​beslissing over wat te doen als het een overbelaste operator tegenkomt maken. De compiler beslist de juiste maatregelen te nemen op basis van wat gegevenstypen worden gebruikt als operanden of samen met de operator. Als de operanden, welke parameter waarden aan de operator functie zijn, zijn door de gebruiker gedefinieerde data types, zal de compiler de overloaded functie die parameters die overeenkomen met de operanden wordt gebruikt heeft te kiezen.

Computertalen variëren in hoe zij toestaan ​​dat dit soort ad-hoc polymorfisme. Verschillende talen kan de oprichting van nieuwe aangepaste exploitanten, de overbelasting van alle of een deel van de exploitanten toe te staan, of mag exploitant niet toestaan ​​overbelasting helemaal. C ++, C #, PHP en Perl alle toelaten dat sommige van hun ondernemingen te worden overbelast. Operator overbelasting is niet toegestaan ​​in C, Java en Javascript.

Zowel operator overbelasting en functie overbelasting in het algemeen zijn het onderwerp van debat geweest. Sommigen beweren dat het geven van de programmeur van de vrijheid van het veranderen van de manier waarop een operator gedraagt ​​kan het potentieel voor het creëren van onbedoelde fouten door andere programmeurs die de aangepaste code gebruiken introduceren. Het tegengestelde standpunt stelt dat het toestaan ​​van operator overloading geeft programmeurs de mogelijkheid van het creëren van intuïtieve en beknopte code die makkelijker te begrijpen zal zijn, minder kosten om te produceren, en fouten te verminderen.

  • C ++ laat een deel van de exploitanten worden overbelast.