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.