Bom,
Enviei um email para um professor da UFES que trabalha e pesquisa na área de OO.
Veja o email.
Pergunta
[quote]Prezado Professor Ricardo Falbo,
Bom dia!
Envio-lhe este email para tirar uma dúvida sobre Orientação a Objeto que surgiu em alguns fórum de programação JAVA na internet.
As dúvidas que persistem são as seguintes:
- O que é Polimorfismo?
- Existe Polimorfismo sem herança?
- Sobrecarga é Polimorfismo?[/quote]
Resposta
[quote]
Oi André,
Realmente há muitos livros com concepções, a meu ver, equivocadas. Veja abaixo o que considero correto acerca de suas dúvidas.
- O que é Polimorfismo?
É a habilidade de um objeto assumir diferentes formas ao longo de sua vida, mudando de classe, dentro de uma hierarquia de classes.
- Existe Polimorfismo sem herança?
Não. Um objeto só pode mudar de classe dentro de uma hierarquia de classes. Ou seja, é necessário haver uma superclasse comum entre as classes. Observe, contudo, que em termos de linguagens de programação, quase sempre há uma superclasse comum a todos os objetos (tal como uma classe Object), o que permite um uso inadequado de polimorfismo.
- Sobrecarga é Polimorfismo?
Não. Sobrecarga é o fato de operações distintas terem o mesmo nome.
As respostas de cada pessoa, professor e até literaturas divergem nessas questão.
Para maiores informações, veja o capítulo 4 de minha apostila de Análise de Sistemas, disponível em http://www.inf.ufes.br/~falbo/disciplinas/analise.html[/quote]
Bom segundo vocês ele está errado, pois vou da mesma concepção que ele, portanto também estou errado.
Procure pelo Ricardo Falbo e poderam conhecer um poco mais sobre ele.
Grato.