C# - Sobrecarga de operadores - I
Hoje vamos recordar o conceito de sobrecarga de operadores na linguagem C#. |
Na linguagem C#, podemos sobrecarregar a definição de um operador para tipos personalizados (classe, struct), e, fazemos isso definindo métodos especiais dentro de um tipo personalizado.
Nota: Sobrecarga (Overload) é a habilidade de poder definir diversas propriedades, métodos ou procedimentos em uma classe com o mesmo nome mas parâmetros diferentes.
Esses métodos ajudam o compilador a distinguir entre os diferentes significados de um operador que produzem resultados diferentes para um tipo diferente.
Os operadores sobrecarregados são funções com nomes especiais, a palavra-chave operator seguida pelo símbolo para o operador que está sendo definido. Um operador sobrecarregado possui um tipo de retorno e uma lista de parâmetros.
Geralmente, em C #, podemos sobrecarregar três tipos de operadores:
1. Operadores Unários (+, -, !, ~, ++, – –)
2. Operadores Binários
(+, -, *, /, %)
3. Operadores de Comparação(==,
!=, =)
Obs: Os operadores de lógica condicional(&&, ||) não podem ser sobrecarregados diretamente nem os operadores de atribuição (+=, -+, *=, /=, %=, =)
Sobrecarga de Operador Unário
O operador Unary opera em um único operando (+,
-,!, ++, -, true, false), e , estes são os operadores unários que podem
ser sobrecarregados em C#.
Sintaxe:
public static return_type
operator op (Type t) { // 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 é,
(+, -, ..).
• Type - o tipo deve ser struct ou
class.
Exemplo: Sobrecarga de operador ++
Neste código temos que distância++, é chamado de método operator ++; observe que ele passou seu próprio objeto para o parâmetro operator ++.
A seguir veremos a sobrecarga de operadores binários.
Pegue o código do projeto aqui: SobrecargaOperadorUniario.txt
E a paz de Deus, que excede todo o entendimento, guardará os vossos corações e os vossos pensamentos em Cristo Jesus. Filipenses 4:7
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