Cursos / Informática para Internet / Programação Orientada a Objetos / Aula
Polimorfismo de sobreposição é a redefinição de métodos em classes descendentes. Ou seja, um método de uma classe filha com o mesmo nome de um método de uma classe mãe irá sobrepor esse último. Vejamos o exemplo da Figura 4.
Como pode ser observado na hierarquia de classes apresentada, existe: (i) uma classeA, que implementa um metodoX(); (ii) uma classeB, que implementa um método com o mesmo nome; e, finalmente, (iii) uma classeC, que implementa um métodoY().
O que aconteceria se fosse solicitado ao Objeto1 da classeC a execução do metodoX()?
Conforme você viu nas aulas anteriores sobre herança, esse método será procurado na hierarquia da classe instanciada pelo Objeto1.
Devemos observar que, nesse caso, o métodoX() que também é implementado na ClasseB, foi encontrado primeiro que o metodoX() da ClasseA.
Nesse caso, o método que de fato será executado será o da ClasseB.
E, nesse caso, o metodoX() da ClasseA jamais será alcançado, a menos que seja criado um objeto da ClasseA. Dizemos então que ocorreu uma SOBREPOSIÇÃO DE MÉTODO ou um POLIMORFISMO DE SOBREPOSIÇÃO. O métodoX da classeB sobrepôs (ou redefiniu) o método de sua classe mãe.
Versão 5.3 - Todos os Direitos reservados