Para ilustrar de forma simples o conceito de polimorfismo por sobrecarga, podemos tomar como exemplo um programa que calcula a área de diversas figuras geométricas (MANZANO; COSTA JR, 2014).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
package capitulo7.polimorfismo; public class Area { public static long calcularArea(int lado) { long area = lado * lado; return area; } public static double calcularArea(float raio, float altura) { double area = raio * raio * Math.PI * altura; return area; } public static int calcularArea(int comprimento, int largura, int altura) { int area = comprimento * largura * altura; return area; } } |
Na classe Area
, múltiplas versões do método calcularArea
são definidas, cada uma para calcular a área de uma forma geométrica diferente. Essa abordagem simplifica o código, permitindo que métodos com o mesmo nome tenham comportamentos distintos com base nos parâmetros fornecidos.
Exemplo de utilização da classe Area
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
package capitulo7.polimorfismo; public class C07Ex16v3 { public static void main(String[] args) { // Calcula as áreas long areaQuadrado = Area.calcularArea(5); int areaCubo = Area.calcularArea(5, 6, 7); double areaCilindro = Area.calcularArea(7, 3); // Cria a string de saída formatada String saida = String.format( """ Área do Quadrado..: %d m² Área do Cubo......: %d m² Área do Cilindro..: %.4f m² """, areaQuadrado, areaCubo, areaCilindro); // Exibe a saída System.out.println(saida); } } |
Saída:
1 2 3 |
Área do Quadrado..: 25 m² Área do Cubo......: 210 m² Área do Cilindro..: 461,8141 m² |
⚠️ Observe que utilizei o método String.format()
para facilitar a exibição dos dados na saída.
—
📚 Livro:
-
- Java 8 – Programação de Computadores: Guia prático de introdução, orientação e desenvolvimento, por José Augusto N. G. Manzano e Roberto Affonso da Costa Junior <https://amzn.to/4b9qKXb>
*Atualizado em 8 de maio de 2024