Polimorfismo: É a capacidade de um objeto ser referenciado por vários tipos. Não consegui entender essa afirmação, por favor poderia citar um código de exemplo ? e tbm explicar um pouco melhor?
Polimorfismo: É a capacidade de um objeto ser referenciado por vários tipos. Não consegui entender essa afirmação, por favor poderia citar um código de exemplo ? e tbm explicar um pouco melhor?
Bom dia, Erick, tudo bem?
Vou tentar te ajudar! Não sou o melhor mas talvez você tenha uma visibilidade melhor sobre o assunto.
Vamos lá..
Por exemplo, você ja deve ter visto pela internet diversos tipos de "frete", certo? Vamos puxar três aqui, Sedex, PAC e Transportadora Particular X, ok?
Podemos dizer que os três são um certo tipo de "taxa", certo? Todas tem um comportamento muito parecido que seria calculo em cima do CEP (por exemplo)
Então, trazendo isso para o código, nós poderiamos, ter uma interface do tipo Taxa, que possuiria um método calculo e 3 classes que IMPLEMENTEM Taxa, consequentemente teriam que implementar o método calculo, ficaria por exemplo
interface Taxa {
public int calculo ();
}
class Sedex implements Taxa {
public int calculo () {
return 1*3;
}
}
class PAC implements Taxa {
public int calculo() {
return 1*2;
}
}
class TransportadoraParticularX implements Taxa {
public int calculo() {
return 1*5;
}
}
Nesse caso nós temos a Taxa que é genérica e podera ser referenciada no código main, ficaria algo do tipo
main....{
Taxa taxa1 = new PAC();
Taxa taxa2 = new Sedex();
Taxa taxa3 = new TransportadoraParticularX();
}
Veja, que todas são do tipo taxa, o que vai determinar se o valor do "frete" vai ser "x" ou "y" vai ser a implementação do método calculo.
Espero ter ajudado e espero que esteja correto também! Caso não esteja, aguardemos alguém mais experiente haha!
Consegui entender Lucas, muito obrigado!