0

.NET C# - Method Overload "Sobrecarga de Método"

CARLOS SILVA
CARLOS SILVA

Tópicos


  1. Introdução
  2. O que é a Sobrecarga de Método?
  3. Method Overload da classe Console
  4. Criando nossas sobrecargas
  5. Conclusão


Introdução


Nesse artigo, vamos aprender sobre um recurso extremamente útil e poderoso fornecido pela linguagem de programação C#, que é a sobrecarga de método.


O que é a Sobrecarga de Método?


Em poucas palavras, é a capacidade de criar vários métodos com o mesmo nome, apenas variando em quantidade e tipos de parâmetros.

O compilador quem se encarrega de fazer o serviço pesado nos bastidores.


Método Overload da classe Console


Uma das classes mais simples e muito utilizada que representa bem essa prática, é a classe console.


Veja nessa imagem abaixo, que a classe console possui o equivalente a 18 sobrecargas.



Analisando os metadados da classe console, veja como funciona.


Pode ser uma imagem de sentando e texto que diz "Atividades Visual tudio Code Arquivo Editar Seleção Ver Acessar Executar Terminal Ajuda EXPLORADOR METHODOVERLOAD 16:32 Program.cs MethodOverload Visual Studio Code [metadata] Console.cs 100% 1222 public void Writel ne(string format params object?[]? arg); terminator the public static void WriteLine(); ESTRUTURADOCÃDIGO T:System.IO.I0Exception: public static void WriteLine(bool value);"

Com isso, já da para termos um noção básica de como funciona.


Criando nossas sobrecargas


Para esse exemplo, criei um projeto de console chamado de MethodOverload.


Primeiro, vamos criar uma sobrecarga inválida


Pode ser uma imagem de sentando e texto que diz "Atividades Visual tudio Code Arquivo Editar Seleção Ver Acessar Executar Terminal Ajuda EXPLORADOR METHODOVERLOAD 16:35 MethodOverload Visual Studio Code Program.cs 100% System Entities Calculator.cs namespace Method0ver Sumnvalu1ntvlue2) Entities public p class Calculator 11 public static int Sum(n valuel, int value2) public stati int Sum( valuel, int value2) valuel value2; valuel value2; ESTRUTURADOCÓDIGO"


Perceba que o compilador está acusando um erro, devido ter métodos idênticos. Nesse caso, por mais que eu mude os nomes dos parâmetros de Value1 para qualquer outra coisa, ainda não irá funcionar, porque o que ele verifica são os tipos e não os "alias".


No exemplo abaixo, criei 6 sobrecargas com um método estático chamado de Sum. Perceba que são os parâmetros que definem a distinção entre eles.


Pode ser uma imagem de sentando e texto que diz "Atividades Visual tudio Code Arquivo Editar Seleção Ver Acessar Executar Terminal Ajuda 16:41 EXPLORADOR METHODOVERLOAD Calculator.cs MethodOverload Visual Studio Code rogram.cs Calculator.cs using System; 100% Calculator.cs namespace Method0ver ดu public Entities Calculator public static int (” a, int public static double Sum(double double double Sum(double public static =>a+b loat Sum(float float object[] Sum(ob publi Oreferences public static decimal Sum(decimal obj obj; ESTRUTURADOCÃDIGO"


Agora, veja como isso se comporta quando chamamos essa classe no cliente "Program"



As 6 sobrecargas que criamos aparecem.


E por último, temos o resultado da operação impressa no console.


Nenhuma descrição de foto disponível.


Conclusão


Nesse artigo, você aprendeu o básico do que é e como criar métodos sobrecarregados, utilizando a plataforma .NET com a linguagem de programação C#.


Pegue o projeto no GitHub: https://github.com/CarlosEX/MethodOverload


Um grande abraço,


Blog

Blog

Blog


Carlos Antonio


"No dia da prosperidade, goza do bem, mas, no dia da adversidade, considera; porque também Deus fez este em oposição àquele, para que o homem nada ache que tenha de vir depois dele."
Eclesiastes 7:14


0
0

Comentários (1)

1
Israel Nascimento

Israel Nascimento

11/10/2021 18:29

Opa! deu para eu ter uma noção, pois logo, logo estarei em C#.

Ainda estou no inicio do Bootcamp.

Parabéns.

Administrador de Empresas | Desenvolvedor C# Júnior

Brasil