Skip to main content

Wat is de overbelasting van operator?

Operator -overbelasting is een functie voor computerprogrammeertaal waarmee een programmeur een standaardoperator kan negeren.Wanneer de operatorfunctie wordt overbelast, kan deze worden verklaard met aangepaste argumenten die verschillende gegevenstypen zijn dan wat de operator standaard kon afhandelen.De nieuwe parameters kunnen primitieve of door de gebruiker gedefinieerde typen zijn.Binnen het lichaam van de dwingende functie kan een programmeur de parameterwaarden manipuleren zoals gewenst.Door gebruik te maken van de overbelasting van operators, kan een programmeur intuïtieve snelkoppelingen maken voor het manipuleren van door de gebruiker gedefinieerde gegevenstypen of wijzigen hoe standaard gegevenstypen worden afgehandeld.

Wanneer door gebruikers gedefinieerde gegevenstypen worden gemaakt, is er geen manier om eenvoudige operationele taken uit te voeren, zoals het toevoegen van tweevan hen samen of het verhogen van interne gegevens met behulp van de unary increment -operator met het gegevenstype.Operators, inclusief het toevoegingssymbool, kunnen worden opgeheven zodat ze worden gebruikt als binaire operators tussen twee aangepaste gegevenstypen, retourneren ze een door de gebruiker gedefinieerd resultaat.Op dezelfde manier kan een unaire operator, zoals de incrementatieoperator, worden opgeheven om een interne waarde binnen het door de gebruiker gedefinieerde type te verhogen.

Zodra een operator overbelast is, moet de compiler een beslissing nemen over wat hij moet doen als hij tegenkomt wanneer deze ontmoetingeen overbelaste operator.De compiler bepaalt de juiste actie die moet worden ondernomen op basis van welke gegevenstypen worden gebruikt als operanden of in combinatie met de operator.Als de operanden, die parameterwaarden zijn voor de operatorfunctie, door gebruikers gedefinieerde gegevenstypen zijn, kiest de compiler de overbelaste functie met parameters die overeenkomen met de gebruikte operanden.Hoc polymorfisme.Verschillende talen kunnen het maken van nieuwe aangepaste operators, het overbelasting van alle of sommige van zijn operators mogelijk maken, of mogelijk helemaal geen overbelasting van operators.C ++, C#, PHP en PERL laten allemaal sommige van hun operators overbelast.Operator -overbelasting is niet toegestaan in C, Java en JavaScript.

Beide overbelasting van operators als overbelasting van het functie in het algemeen zijn het onderwerp geweest van een debat.Sommigen beweren dat het geven van de programmeur de vrijheid om de manier te veranderen waarop een operator zich gedraagt, het potentieel zou kunnen introduceren voor het creëren van onbedoelde fouten door andere programmeurs die de aangepaste code gebruiken.Het tegengestelde gezichtspunt stelt voor dat het toestaan van overbelasting van de operator programmeurs de mogelijkheid geeft om intuïtieve en beknopte code te maken die gemakkelijker te begrijpen is, minder kost om te produceren en fouten te verminderen.