Innholdsfortegnelse:
Definisjon - Hva betyr operatøroverbelastning?
Operatøroverbelastning er en teknikk der operatører som brukes på et programmeringsspråk implementeres i brukerdefinerte typer med tilpasset logikk som er basert på de typer argumenter som er passert.
Operatøroverbelastning letter spesifikasjonen av brukerdefinert implementering for operasjoner der en eller begge operander er av brukerdefinert klasse eller strukturtype. Dette hjelper brukerdefinerte typer til å oppføre seg omtrent som de grunnleggende primitive datatypene. Overbelastning av operatører er nyttig i tilfeller der operatørene som brukes for visse typer, gir semantikk relatert til domenekonteksten og syntaktisk støtte som finnes på programmeringsspråket. Den brukes for syntaktisk bekvemmelighet, lesbarhet og vedlikeholdbarhet.
Java støtter ikke overbelastning av operatører, bortsett fra strengkonkatenasjon som den overbelaster + operatøren internt.
Techopedia forklarer operatøroverbelastning
Operatører refereres til ved bruk av operatørnotasjon i uttrykk og funksjonell notasjon i erklæringer. Syntaks, forrang og tilknytning til en operatør kan ikke endres ved å bruke brukerdefinerte operatørerklæringer.
For eksempel er operatører i C # kategorisert basert på typen operasjon de utfører. Noen av dem er overbelastet i brukerdefinerte typer ved å definere dem i statiske medlemsfunksjoner og bruke operatørnøkkelordet. Parameterne til operatørfunksjonen representerer operandene, mens returtypen til en operatørfunksjon representerer resultatet av operasjonen. Overbelastning implementeres parvis for operatører, for eksempel sammenligningsoperatører som "==" og "! =". Equals (-metoden) for disse operatørene bør overstyres for å unngå en kompilatorvarsel. Overbelastning skal ikke brukes til operatører som betinget, logisk (og !!), tildeling (+ =, - = osv.), Avstøpning og matriseindeksering ().
Det anbefales sterkt at overbelastning av operatører blir implementert slik at resultatene som blir produsert er det som intuitivt forventes av standardimplementeringen av operatøren. Enkelte matematiske regler, som kommutativ lov, som gjelder uttrykk med to operander, kan ikke brukes når de brukes i overbelastning for typer, da de bare er definert for numeriske operander.