Sobrecarga de operadores é um recurso que permite alterar o significado dos operadores de C#, cuja ideia é transformar expressões complexas em expressões mais claras e intuitivas. Neste post veja sobrecarga de operadores em C#.
Por exemplo, a expressão total.somar(val1, val2); poderia ser alterada para uma mais intuitiva, como total = val1 + val2;.
Assim, objetos podem ser usados em uma expressão, da mesma forma que variáveis em uma expressão aritmética.
Sobrecarga de operadores unários
Sobrecarga para operadores que atuam sobre um operando:
public static retorno operator op(parm) {
//comandos
}
retorno: Tipo do valor a ser retornado pelo método operator. Pode ser de qualquer tipo, mas normalmente é do tipo classe/estrutura que sobrecarrega o operador.
op: Operador a ser sobrecarregado.
parm: Parâmetro do operador op. O sue tipo deve ser classe/estrutura que faz a sobrecarga e não pode usar os modificadores ref e out.
Sobrecarga de operadores binários
Sobrecarga para operadores que atuam sobre dois operandos.
public static retorno operator op(parm1, parm2) {
//comandos
}
retorno: Tipo do valor a ser retornado pelo método operator. Pode ser de qualquer tipo, mas normalmente é do tipo classe/estrutura que sobrecarrega o operador.
op: Operador a ser sobrecarregado.
parm1, parm2: Parâmetros do operador op que não podem usar modificadores ref e out. Pelo menos um dos parâmetros deve ser do tipo classe/estrutura que faz a sobrecarga.
//Método operator. Sobrecarga do operador binário "*"
public static Teste operator *(Teste vetor1, int numero) {
Teste VetorRes = new Teste();
for (int i = 0; i < VetorRes.vetor.Length; i++) {
VetorRes.vetor[i] = vetor1.vetor[i] * numero;
return VetorRes;
}
...
static void Main(string[] args) {
Teste obj1 = new Teste();
Teste obj2;
obj1.vetor[0] = 10;
obj1.vetor[1] = 20;
obj1.Exibe();
obj2 = obj1 * 5; // chama o método operator()
...
}
CONHEÇA O CURSO COMPLETO DE C# COM + DE 100 AULAS PRÁTICAS. Tenha acesso vitalício e certificado de conclusão.
CLIQUE NA IMAGEM ABAIXO E CONFIRA MAIS DETALHES:
Dúvidas ou sugestões? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
https://youtube.com/criandobits
Quer receber GRÁTIS o e-book "Como Formatar um Computador em 5 Minutos"?
Sobre o Autor
0 Comentários