C#

Sobrecarga de operadores em C#

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() 
         
   ...
     
}

Dúvidas ou sugestões? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
https://youtube.com/criandobits

Tags: | | |

O SEU COMPUTADOR ESTÁ TRAVANDO, DANDO "TELA AZUL" E DOR DE CABEÇA?

Aprenda a consertar o próprio computador como um profissional!

Especialize-se em manutenção preventiva e corretiva, diagnósticos de defeitos e upgrades com aulas passo a passo sem enrolação.

Torne-se também um técnico diferenciado e conquiste o emprego dos seus sonhos com este curso completo de Montagem e Manutenção de Desktops e Notebooks.

Clique na imagem abaixo e confira mais detalhes do curso:

Super Técnico 2.0

CLIQUE AQUI E SAIBA MAIS

Sobre o Autor

Benedito Silva Júnior
Benedito Silva Júnior

Bacharel em Sistemas de Informação pelo Instituto Paulista de Pesquisa e Ensino IPEP. Apaixonado por tecnologias e games do tempo da vovó!

0 Comentários

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *