Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Sobrecargas

To na parte 3 do curso de C# e comecei a ver sobre cargas, não to conseguindo entender nada de nada, mas ainda estou revendo as aulas e lendo os "Para saber mais". Mas esse recurso é útil utilizar? Muitas pessoas o usam? Nunca imaginei na possibilidade de criar métodos com o mesmo nome ou se quer se eles teriam alguma utilidade.

2 respostas
solução!

Fala Gabriel, tudo bem?

Sobrecarga é um conceito importantíssimo e amplamente utilizado quando estamos falando de linguagens de programação orientada a objetos.

Sobrecarregar um método nada mais é que a maneira comum de implementar o polimorfismo. Um usuário pode implementar a sobrecarga de métodos definindo duas ou mais funções em uma classe compartilhando o mesmo nome. C# consegue distinguir os métodos pois eles tem diferentes assinaturas. Ou seja, os métodos podem ter o mesmo nome, mas com uma lista de parâmetros/argumentos diferentes (ou seja, o número de parâmetros, ordem dos parâmetros e tipos de dados dos parâmetros) devem ser diferentes, caso contrário daria um erro de compilação, pois não teria de fato nenhuma diferença entre dois métodos com o mesmo nome e os mesmos argumentos (na mesma ordem).

Métodos sobrecarregados são diferenciados com base no número e tipo dos parâmetros passados como argumentos para os métodos. Você não pode definir mais de um método com o mesmo nome, ordem e o tipo dos argumentos. Daria um erro de compilação. Importante: o compilador não considera o tipo de retorno ao diferenciar o método sobrecarregado. Mas você não pode declarar dois métodos com a mesma assinatura e tipo de retorno diferente. Se ambos os métodos tiverem os mesmos tipos de parâmetros, mas diferentes tipos de retorno, então isso não é possível.

Abraço e bons estudos!

Valeu Otávio! Consegui entender melhor agora, e vou dar mais uma pra aprofundado em sobrecargas então. Brigadão!