Vamos criar um exemplo em Java que utiliza métodos sobrecarregados (overloaded methods) em uma classe chamada Calculadora. Métodos sobrecarregados são métodos que têm o mesmo nome, mas diferentes tipos ou números de parâmetros.
public class Calculadora {
// Método sobrecarregado para somar dois inteiros
public int somar(int num1, int num2) {
return num1 + num2;
}
// Método sobrecarregado para somar três inteiros
public int somar(int num1, int num2, int num3) {
return num1 + num2 + num3;
}
// Método sobrecarregado para somar dois doubles
public double somar(double num1, double num2) {
return num1 + num2;
}
// Método sobrecarregado para concatenar duas strings
public String concatenar(String str1, String str2) {
return str1 + str2;
}
public static void main(String[] args) {
// Criando um objeto Calculadora
Calculadora minhaCalculadora = new Calculadora();
// Chamando métodos sobrecarregados e exibindo os resultados
System.out.println("Soma de dois inteiros: " + minhaCalculadora.somar(5, 7));
System.out.println("Soma de três inteiros: " + minhaCalculadora.somar(3, 8, 2));
System.out.println("Soma de dois doubles: " + minhaCalculadora.somar(3.5, 2.5));
System.out.println("Concatenação de duas strings: " + minhaCalculadora.concatenar("Hello", " World"));
}
}
Neste exemplo:
- A classe
Calculadorapossui quatro métodos chamadossomar, cada um com uma assinatura diferente (número ou tipo de parâmetros diferente). - Os métodos
somarsão sobrecarregados, permitindo calcular a soma de inteiros, a soma de três inteiros, a soma de doubles e a concatenação de strings. - No método
main, criamos um objetoCalculadorae chamamos diferentes versões do métodosomare do métodoconcatenar.
A sobrecarga de métodos é uma prática comum em Java e é útil quando você deseja fornecer funcionalidades semelhantes, mas com diferentes tipos de entrada ou comportamentos específicos.