Olá professores e professoras e a todos veja que exemplo simples e muito fácil de entender o conceito de polimorfismo a habilidade de "muitas formas", de assinatura do método e é determinada pelo número, tipo ou ordem dos parâmetros, não pelo tipo de retorno.
A sobrecarga de métodos permite definir múltiplos métodos com o mesmo nome em uma única classe, desde que eles possuam assinaturas diferentes.
Exemplo Prático na Classe Calculadora
Abaixo está um exemplo de como isso pode ser implementado na prática:
java
public class Calculadora {
// Método para somar dois números inteiros
public int somar(int a, int b) {
return a + b;
}
// Método sobrecarregado para somar três números inteiros
public int somar(int a, int b, int c) {
return a + b + c;
}
// Método sobrecarregado para somar dois números de ponto flutuante (double)
public double somar(double a, double b) {
return a + b;
}
// Método sobrecarregado para somar uma lista variável de inteiros
public int somar(int... numeros) {
int resultado = 0;
for (int num : numeros) {
resultado += num;
}
return resultado;
}
}
Como utilizar os métodos:
java
public class TesteCalculadora {
public static void main(String[] args) {
Calculadora calc = new Calculadora();
System.out.println("Soma de 2 inteiros: " + calc.somar(5, 10)); // Chama o primeiro método
System.out.println("Soma de 3 inteiros: " + calc.somar(5, 10, 15)); // Chama o segundo método
System.out.println("Soma de 2 doubles: " + calc.somar(5.5, 10.2)); // Chama o terceiro método
System.out.println("Soma de vários inteiros: " + calc.somar(1, 2, 3, 4, 5)); // Chama o quarto método
}
}
Neste exemplo, o compilador Java determina automaticamente qual método somar chamar com base nos argumentos fornecidos em cada chamada, o que demonstra o polimorfismo em tempo de compilação. Isso oferece flexibilidade e clareza ao código, permitindo que a mesma operação lógica (somar) seja realizada de diferentes maneiras.