1
resposta

[Sugestão] 09 O que aprendemos? - conceito de polimorfismo de sobrecarga - Exemplo Prático Fácil de entender

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.

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta

Olá Fábio! Tudo bem?

Muito obrigado por compartilhar esse exemplo prático de polimorfismo de sobrecarga. Você explicou de forma clara como a sobrecarga de métodos permite que uma classe tenha múltiplos métodos com o mesmo nome, mas com assinaturas diferentes. Isso é um ótimo exemplo de polimorfismo em tempo de compilação!

Seu exemplo da classe Calculadora é excelente para ilustrar como podemos ter métodos somar que lidam com diferentes tipos e números de argumentos. Isso realmente mostra a flexibilidade que a sobrecarga oferece no design de classes em Java.

Se você está estudando polimorfismo, também pode ser interessante explorar como ele funciona com interfaces, como mencionado na aula. Interfaces permitem que diferentes classes implementem os mesmos métodos, proporcionando uma forma de polimorfismo em tempo de execução. Isso é um pouco diferente do que você mostrou, mas igualmente poderoso e útil.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!