Dei uma rapida pesquisada e percebi que muita gente diz que
overloading eh polimorfismo e muita gente diz que nao eh.
Como a importancia das referencias esta em questao, o que eh
que Bertrand Meyer diz a respeito do assunto? Alguem tem o livro
dele por perto? (o meu esta la em casa)
Acho que ele diz que overloading _eh_ polimorfismo, mas nao
tenho certeza.
Andre Mendonca
[EMAIL PROTECTED]
Sakonnet Technology, LLC
594 Broadway, Suite 1008
New York, NY 10012
-----Original Message-----
From: Christian Rauh [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, March 20, 2001 9:06 AM
To: [EMAIL PROTECTED]
Subject: Re: [java-list] Polimorfismo
Caro Michael,
Estou entrando tarde nesta discussão. Não sei qual é o ponto
exato que você e o Sven estão defendendo mas a sua citação é
errada. No livro "An Introduction to Object-Oriented Progamming"
de Timothy Budd [Budd], temos:
"The most common form of polymorphism in conventional programming
languages is overloading". pg. 185
Como a referencia [Budd] é mais importante do que [Eckel], temos
que: overloading é polimorfismo. O que me parece que é o
contrário do que você pretende provar.
Em particular, analisemos o trecho citado por você de [Eckel]:
Mister M wrote:
>
> People are often confused by other,
> non-object-oriented features of C++, like overloading and default
> arguments, which are sometimes presented as object-oriented.
> Don’t be fooled; if it isn’t late binding, it isn’t polymorphism.
Aqui ele implica que "se não é linkagem dinâmica" então "não é
polimorfismo". Revertendo:
polimorfismo -> linkagem dinâmica
Porém, [Budd] diz logo a frente na seção 13.2 sobre overloading
que:
"The facts that the compiler can often determine the correct
[overloading] function at compile time (in a strongly typed
language), and can generate only a single code sequence, are
simply optimizations"
Ou seja, o fato de que o compilador pode descobrir a função
correta em linguagem fortemente tipadas (como C++) e fazer
linkagem estática é simplesmente um otimização. Assim, o C++ está
simplesmente otimizando uma característica orientada a objeto.
Obrigado,
Christian Rauh
NewTrade
Referências:
[Budd] Budd, Timothy. "An Introduction to Object-Oriented
Progamming", Addison-Wesley, 1991.
[Eckel] Eckel, Bruce. "Thinking C++".
------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------
------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------