Olá não conseguir entender muito bem sobre SOBRECARGA alguém por gentileza poderia me dar um luz
Olá não conseguir entender muito bem sobre SOBRECARGA alguém por gentileza poderia me dar um luz
Oi Gilmar,
Imagine que você tenha a seguinte classe em seu projeto:
public class Calculadora {
public int somar(int valor1, int valor2) {
return valor1 + valor2;
}
public int somar(String valor1, String valor2) {
return Integer.parseInt(valor1) + Integer.parseInt(valor2);
}
}
No exemplo anterior a classe Calculadora
tem dois métodos com o mesmo nome, chamado somar
.
Isso seria um problema para o Java, pois ele poderia considerar que a classe tem um método "duplicado". Mas na verdade eles não são duplicados, pois não são exatamente iguais, já que o primeiro recebe dois int's como parâmetro e o segundo recebe duas String's.
Desse jeito não tem problemas, pois o Java sabe qual dois métodos chamar, baseado nos parâmetros que foram passados. Exemplo:
public class Main {
public static void main(String[] args) {
Calculadora calc = new Calculadora();
cal.somar(10, 30);
}
}
Aqui o Java sabe que deve chamar o primeiro método somar
, pois foi passado como parâmetro os valores 10
e 30
, que são do tipo inteiro.
Se alterarmos o código para:
cal.somar("10", "30");
Ele saberá que agora deve chamar o segundo método, pois foram passadas duas String's como parâmetro.
Sendo assim, é possível ter na mesma classe dois ou mais métodos com a mesma "assinatura", ou seja, mesmo nome e tipo de retorno, desde que eles tenham parâmetros distintos, para que assim o Java saiba quando chamar cada um deles.
E justamente isso que chamamos de Sobrecarga.
Ficou mais claro?
Bons estudos!
Valeu amigo Obrigado Com certeza ficou mais claro sim