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:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
Super DVD C# - Recursos de aprendizagens e vídeo aulas para C#
Curso Fundamentos da Programação Orientada a Objetos com VB .NET
VB .NET e C# - Diferenças entre os Operadores - Macoratti
VB.NET - Novos operadores lógicos - Macoratti
C# - Sobrecarga de operadores - Macoratti
NET - Estruturas x Classes - Macoratti
VB.NET - Novos operadores lógicos - Macoratti
C# - Sintaxe e conceitos básicos - Macoratti
C# - Operadores Lógicos - Macoratti
C# - Conceitos - Operador Ternário - Macoratti