Skip to main content

Hvad er overbelastning af operatør?

Operatøroverbelastning er en computerprogrammeringssprogfunktion, der giver en programmør til at tilsidesætte en standardoperatør.Når operatørfunktionen er overbelastet, kan den erklæres med brugerdefinerede argumenter, der er forskellige datatyper end hvad operatøren var i stand til at håndtere som standard.De nye parametre kan være primitive eller brugerdefinerede typer.Inden for kroppen af den overordnede funktion kan en programmør manipulere parameterværdierne efter ønske.Ved at bruge overbelastning af operatører kan en programmør skabe intuitive genveje til at manipulere brugerdefinerede datatyper eller ændre, hvordan standarddatatyper håndteres.

Når brugerdefinerede datatyper oprettes, er der ingen måde at udføre enkle operationelle opgaver, såsom at tilføje toaf dem sammen eller forøgende interne data ved hjælp af den unary incrementoperatør med datatypen.Operatører, inklusive tilføjelsessymbolet, kan tilsidesættes, så hvis de bruges som binære operatører mellem to brugerdefinerede datatyper, returnerer de et brugerdefineret resultat.På samme måde kan en unary operatør, som stigningsoperatøren, blive tilsidesat for at øge en intern værdi inden for den brugerdefinerede type.

Når en operatør er overbelastet, skal kompilatoren overbelastet operatør.Kompilatoren beslutter den rette handling for at tage baseret på, hvilke datatyper der bruges som operander eller sammen med operatøren.Hvis operanderne, der er parameterværdier til operatørfunktionen, er brugerdefinerede datatyper, vælger kompilatorHoc -polymorfisme.Forskellige sprog muliggør muligvis oprettelse af nye brugerdefinerede operatører, overbelastningen af alle eller nogle af dets operatører, eller tillader muligvis overhovedet ikke overbelastning af operatør.C ++, C#, PHP og Perl tillader alle nogle af deres operatører at blive overbelastet.Operatøroverbelastning er ikke tilladt i C, Java og JavaScript.

Begge operatøroverbelastning og -overbelastning generelt har været genstand for en eller anden debat.Nogle hævder, at det at give programmereren friheden til at ændre den måde, en operatør opfører sig på, kunne introducere potentialet for at skabe utilsigtede fejl fra andre programmerere, der bruger den tilpassede kode.Det modsatte synspunkt foreslår, at det at tillade overbelastning af operatør giver programmerere muligheden for at skabe intuitiv og kortfattet kode, der vil være lettere at forstå, koste mindre at producere og reducere fejl.