C# - Sobrecarga de operadores - II


Hoje vamos recordar o conceito de sobrecarga de operadores na linguagem C#.

Continuando o assunto Sobrecarga de operadores veremos agora a sobrecarga de operadores binários.

Sobrecarga de Operador Binário

Os operadores binários atuam em dois operandos (+, -, *, /, %, &, |, ^, <<, >>), e, esses são os operadores binários que podemos sobrecarregar na linguagem C#.

Sintaxe:

public static return_type operator op (Type1 t1,  Type2 t2)
{
       // TODO:
}

static - O método sobrecarregado do operador estático deve ser estático.
operator - é uma palavra-chave usada para definir um método sobrecarregado pelo operador.
op - usa um símbolo especial do operador, descreve qual definição do operador será sobrecarregado, isto é, (+, -, ..).
Type1 - t1 : é o operador do lado esquerdo
Type2 - t2 : é o operador do lado direito

Exemplo:

Neste exemplo temos uma classe chamada Numero com campo inteiro e um construtor para definir este campo. Existe também um método estático chamado Add que adiciona dois objetos Numero e retorna o resultado como um novo objeto Numero.

Podemos aplicar a sobrecarga de operadores para simplificar a sintaxe usada no código acima fornecendo assim uma interface mais intuitiva para a classe.

Para converter o método Add para um método de sobrecarga para o sinal de adição (+) , vamos substituir o nome do método(Add) com a palavra-chave operator seguida pelo operador que deve ser
sobrecarregado, no nosso caso o operador
+.

Obs: O espaço em branco entre a palavra-chave e o operador pode opcionalmente, ser deixado de fora.

Observe que, para um método de sobrecarga de operador funcionar ele deve ser definido como público e estático.

Dessa forma o código ficaria assim usando a sobrecarga de operador binário:

Como agora a classe sobrecarrega o sinal de adição (+) este operador pode ser usado para realizar o cálculo de somar os dois operandos.

A seguir veremos a sobrecarga de operadores de comparação.

Pegue o código do projeto aqui:   SobrecargaOperadorBinario.txt

"Palavra fiel é esta: que, se morrermos com ele, também com ele viveremos;
Se sofrermos, também com ele reinaremos; se o negarmos, também ele nos negará;
Se formos infiéis, ele permanece fiel; não pode negar-se a si mesmo."
2 Timóteo 2:11-13

Veja os Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique e confira !

Quer migrar para o VB .NET ?

Quer aprender C# ??

Quer aprender os conceitos da Programação Orientada a objetos ?

Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ?

Referências:


José Carlos Macoratti