Orientação a Objetos Polimorfismo Gil Eduardo de Andrade O Conceito de Polimorfismo O que é “Polimorfismo”? • O termo polimorfismo é originário do grego, e significa muitas formas: poli = muitas, morphos = formas; • O polimorfismo acontece quando duas ou mais classes distintas possuem métodos como mesmo nome; • Possibilita múltiplas implementações de um mesmo método; Aula 06: Polimorfismo– Gil Eduardo de Andrade O Conceito de Polimorfismo Tipos de Polimorfismo? • Sobrecarga: variação nos parâmetros e tipo de retorno dos métodos com mesmo nome; – Na mesma classe: • sobrecarga de métodos (visto aula 03) – Em subclasses: • Utilizado juntamente com herança e classes abstratas Aula 06: Polimorfismo– Gil Eduardo de Andrade O Conceito de Polimorfismo Tipos de Polimorfismo? • Sobrecarga: variação nos parâmetros e tipo de retorno dos métodos com mesmo nome; – Na mesma classe: • sobrecarga de métodos (visto aula 03); – Em Subclasses: • Utilizado juntamente com conceito de herança; Aula 06: Polimorfismo– Gil Eduardo de Andrade Polimorfismo em Java Representação Gráfica • Polimorfismo – Sobrecarga: – Dentro de uma mesma classe; ContaCorrente Saque feito pelo correntista, o valor varia nr_conta : int saldo : double saque( valor : double) : boolean saque() : boolean Saque automático – o valor é fixo, tarifa de manutenção de conta Aula 06: Polimorfismo– Gil Eduardo de Andrade Polimorfismo em Java Exemplo de Polimorfismo em Java • Polimorfismo de Sobrecarga (mesma classe): Aula 06: Polimorfismo– Gil Eduardo de Andrade Polimorfismo em Java Exemplo de Polimorfismo em Java • Polimorfismo de Sobrecarga (mesma classe): Aula 06: Polimorfismo– Gil Eduardo de Andrade Polimorfismo em Java Representação Gráfica • Polimorfismo – Sobrecarga: – Em Subclasses; Professor calculoSalario() : double ProfessorUniversidade calculoSalario() : double ProfessorInstituto calculoSalario() : double Aula 06: Polimorfismo– Gil Eduardo de Andrade Polimorfismo em Java Conceitos e Considerações • Polimorfismo de Sobrecarga (em subclasses): – a implementação de polimorfismo em subclasses necessita do conhecimento prévio sobre abstração; – sendo assim, será visto em mais detalhes na aula de classes abstratas; Aula 06: Polimorfismo– Gil Eduardo de Andrade