POLIMORFISMO
==================
Polimorfismo significa varias formas para uma mesma coisa, e introduzido em POO, refere-se a reescrever algo de forma diferente, polimorfismo esta fortemente ligado a herança, quando criamos uma classe "MÃE" esta classe pode ter metodos que seram herdados pela suas classes "FILHAS", se temos a necessidade desses metodos comportassem de forma diferente podemos sobrescreve-los nas filhas deste jeito tendo varias formas de uma mesma coisa. existem varios tipos de polimorfismo, porem os dois mais usados sao sobrecarga e sobreposição.
**sobreposição**: como citado a cima, podemos sobrescrever um metodo com o uso do @Override, tendo obrigatoriamente que a classe em questão seja uma filha da classe instanciada, o mesmo nome no metodo que a sua implementação original e sua assinatura tambem deve ser a mesma(tipos e quantidade de parametros).
**Escolha**: a escolha do metodo que será usado é em tempo de execução e é decidida por qual instancia chamou o metodo (ex...se carros herda de automoveis e quem chama é carros, sera usado o metodo qe esta implementado em carros, se for chamado por automóveis sera usado o de automoveis.)
**filhas**: as FILHAS sempre vão utilizar o metodo da classe MÃE, mesmo qe seja um decendente de outras classes acima de sua mãe(ex...a classe mazda que herda de carros e a mesma herda de automoveis,contem o mesmo metodo lavarCarro() implementado, a classe mazda quando chamada irá conter a implementação da classe carros pois foi a mais proxima a sobrescrever.).
**sobrecarga**: este tipo de polimorfismo, da-se em escrever varias vezes o mesmo metodo na mesma classe, porem com assinaturas diferentes (tipos e quantidade de parametros), usa-se principalmente para se ter varias opções para o mesmo metodo, dessa forma tratando as possibilidades diferentes de parametros que pode receber, assim fazendo com que o metodo atue de formas diferentes conforme o atributo passado. Pode ser escrito quantas vezes for necessario.
Nenhum comentário:
Postar um comentário