Aula: Polimorfismo em Java
O que é Polimorfismo?
Polimorfismo (do grego "muitas formas") é um dos pilares da Programação Orientada a Objetos que permite que objetos de diferentes classes sejam tratados de forma uniforme através de uma interface comum.
Características principais:
- Uma mesma interface para diferentes tipos de objetos
- Comportamentos específicos para cada classe
- Flexibilidade e extensibilidade do código
- Redução do acoplamento entre classes
Tipos de Polimorfismo
1. Polimorfismo de Tempo de Compilação (Sobrecarga)
- Method Overloading: Múltiplos métodos com o mesmo nome, mas parâmetros diferentes
2. Polimorfismo de Tempo de Execução (Sobrescrita)
- Method Overriding: Redefinição de métodos em classes filhas
- Binding dinâmico: O método correto é escolhido em tempo de execução
Exemplo Prático: Sistema de Animais
Vamos criar um sistema que demonstra polimorfismo usando uma hierarquia de animais: