Sobrecarga de operador c#

Sobrecarga de operador c#
“Neste artigo, discutiremos o conceito de sobrecarga do operador na linguagem de programação C#. O método para fazer um operador normal fazer outras operações que não sua operação tradicional é o significado básico da sobrecarga do operador. C# permite que os usuários predefinam alguns operadores que são sobrecarregáveis, pois existem dois tipos de operadores quando se trata de sobrecarga que são operadores sobrecarregáveis ​​e operadores não sobrecarregáveis. Os operadores unários e os operadores binários são os operadores sobrecarregáveis ​​na linguagem de programação C#. Enquanto o restante dos operadores são operadores não sobrecarregáveis, alguns deles são operadores lógicos, operadores compostos e operadores de elenco.”

Sobrecarga do operador

Para entender o conceito de sobrecarregar um operador, vamos implementar o operador mais básico e comumente sobrecarregado que usamos, o operador "+". Normalmente, o operador "+" é usado para adicionar dois números. Mas se escrevermos entre uma string e um número, ela concatará os dois. Este é um bom exemplo de sobrecarga de um operador unário.

No programa C# acima, demonstramos uma função simples na qual usamos o operador "+" para adicionar 2 números na primeira linha e, em seguida, na segunda linha, usamos o mesmo operador para adicionar uma string e um número Resultado da palavra na concatenação da string e em um número, pois estamos sobrecarregando o operador para fazer isso.

A saída do programa acima mostra a natureza dupla do operador "+"; Na primeira operação, está simplesmente adicionando dois números para o resultado como 4, mas na outra operação, o operador "+" está atuando como um agente de concatenando uma string a um número, pois é predefinido na programação C# linguagem.

Agora, veremos alguns exemplos sobre o sobrecarga de um operador no qual usaremos a palavra -chave "operador" para declará -la como a sobrecarga de um determinado operador.

Exemplo 01: Sobrecarregar o operador "-" no Ubuntu 20.04

Neste exemplo, estaremos focados na extensa sobrecarga de um operador através da herança dos métodos de sobrecarga. Nesse caso, o operador "-" será sobrecarregado. O valor de uma variável inteira será alocado para o operador "-"; No entanto, a operação típica do "-" será alterada pela sobrecarga. Usaremos álgebra para traduzir o operador "-" em um sinal que pode ser dado a um número.

No exemplo acima, temos duas variáveis ​​inteiras e substituímos seus valores outros dois números inteiros. Em seguida, criamos a função de sobrecarga com a ajuda da palavra-chave "operador", na qual a operação convencional do operador "-" foi redefinida. Então chamamos o operador sobrecarregado no programa principal para ver a diferença entre o operador normal e sobrecarregado. Depois de compilar e executar o programa acima, obteremos o seguinte resultado:

Como podemos ver que o operador está agora sobrecarregado e a função predefinida do método sobrecarregada é realizada na última chamada.

Exemplo 02: Sobrecarregar o operador "+" no Ubuntu 20.04

Como discutimos anteriormente, o operador "+" está sobrecarregado e pode executar várias operações, mas ainda pode ser sobrecarregado através de métodos e herança de objetos de classe. Neste exemplo, estaremos sobrecarregando o operador "+", no qual faremos o operador "+" para adicionar dois objetos de uma classe, em vez de números que são a função predefinida do operador "+". O operador "+" será sobrecarregado usando o método de palavra -chave "operador".

Neste programa C#, criaremos um método para sobrecarregar o operador "+". Primeiro, criaremos uma aula e chamaremos seu objeto no método de sobrecarga. Esses objetos serão usados ​​na definição da funcionalidade do operador "+", que está adicionando dois objetos a uma classe com a ajuda do operador "+". Em seguida, o método de exibição será criado, que exibirá o objeto "num". No programa principal, criaremos novos objetos e atribuiremos valores às classes e depois usaremos o operador sobrecarregado "+" para adicionar dois objetos um para o outro. Depois de compilar o programa acima, obteremos a saída como mostrado abaixo:

Os valores do objeto da classe são mostrados na saída, que são "5" e "10", e a soma desses objetos é "15", indicando que agora sobrecarregamos o operador "+" para adicionar dois objetos do classe e resulte -os para um resultado, assim como adicionar dois números inteiros normalmente.

Exemplo 03: Sobrecarregando o operador "*" no Ubuntu 20.04

O método para sobrecarregar o operador "*" será discutido neste exemplo. A palavra -chave do operador será usada para fornecer um método de sobrecarga para o operador "*". O trabalho fundamental do operador "*" é multiplicar dois números inteiros, mas neste exemplo, sobrecarregamos -o definindo para multiplicar dois objetos de uma classe e tratá -los como dois números.

Criamos um método público no qual atribuímos um número inteiro a um objeto. Em seguida, criamos um método público para sobrecarregar o operador "*" usando a palavra -chave do operador antes do símbolo e dos parâmetros. Os parâmetros desta função são os objetos da classe anterior; Portanto, está herdando a entidade de classe anterior, que está sendo multiplicada um pelo outro em um novo objeto, e esse objeto será devolvido desse método. Na função principal, criaremos três novos objetos e atribuiremos dois deles alguns valores no parâmetro. Em seguida, esses objetos serão multiplicados usando o operador sobrecarregado e o resultado será exibido na tela de saída. Depois de compilar e executar com sucesso o programa acima, você obterá o seguinte resultado, conforme mostrado no snippet:

Como podemos ver que os dois primeiros números são exibidos usando a função de exibição, que retorna os objetos da classe de exame. Em seguida, temos o valor resultante desses dois objetos multiplicação, que é "50", embora o operador "*" leve apenas o produto de dois números devido à nossa sobrecarga, o operador multiplicou com sucesso dois objetos também.

Exemplo 04: Sobrecarregar o operador de igualdade no Ubuntu 20.04

Agora estaremos sobrecarregando o operador de igualdade na linguagem de programação C#. Neste exemplo, o operador da igualdade será usado para comparar objetos de uma classe, em vez de sua função normal para atribuir valores a variáveis. Os valores do objeto serão os mesmos nesse cenário, mas, para diferenciar, usaremos uma referência diferente e veremos a diferença no resultado desta operação.

Vamos construir um “exame” de classe no programa C# mencionado e inicializar certas variáveis ​​nele, que usaremos na função intrínseca “Display (),”. Depois disso, daremos números equivalentes a dois objetos da classe "Exame" e os compararemos um com o outro, uma vez que o terceiro item foi referido a partir do segundo, resultando em um resultado igual. No Ubuntu 20.04 Terminal de linha de comando, testaremos esse recurso executando o aplicativo acima mencionado.

Como podemos ver que a primeira comparação não foi um sucesso, mas a segunda foi porque eles tinham a mesma referência.

Conclusão

Neste artigo, discutimos o conceito básico de sobrecarga do operador. A linguagem de programação C# permite o conceito de carregamento do operador e até já adaptou isso em relação ao operador "+", que adiciona números e concatena strings também. Os operadores sobrecarregáveis ​​foram discutidos e implementados no Ubuntu 20.04 ambiente para entender melhor como os métodos de sobrecarga são criados.