Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Polimorfismo

Ainda não consigo visualizar exemplos de polimorfismo, alguém pode me ajudar?

1 resposta
solução!

Boa tarde, Michael! Como vai?

Imagina que tenhamos uma classe especialista em ordenar ArrayList. Ela poderia ser escrita assim:

public class OrdenadoraDeLista {

     public ArrayList ordena(ArrayList lista) {

          ArrayList listaOrdenada = // ordenação da lista recebida.

          return listaOrdenada;
     }
}

Mas agora, eu quero poder ordenar também um LinkedList que é um outro tipo de lista que o Java disponibiliza além do ArrayList. E aí, como fazer? Terei que escrever outra classe para ordenar um LinkedList? A boa notícia é que não é preciso!

Eu posso me valer do polimorfismo e modificar a minha classe anterior da seguinte forma:

public class OrdenadoraDeLista {

     public List ordena(List lista) {

          List listaOrdenada = // ordenação da lista recebida.

          return listaOrdenada;
     }
}

Veja que agora, o método ordena() consegue receber e devolver qualquer lista que implemente a interface List que aliás é justamente o caso das classes ArrayList e LinkedList, pois ambas implementam essa interface!

Esse é apenas um dos casos onde o polimorfismo pode nos ajudar! No dia-a-dia da programação teremos muitos outros casos onde poderemos aplicar esse conceito!

Pegou a ideia? Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!