Caro Michael,
Eu vou lhe fazer uma pergunta e se a sua resposta for adequada eu posso
mudar de opinião quanto a minha posição. A pergunta é:
Porque o overloading não é polimorfismo?
Acredito que a resposta a esta pergunta é crucial para definirmos se
overloading é ou não é polimorfismo.
Acho que você está colocando a sua definição como final e acredito que a
discussão é longe de final. Se devemos fechar a questão, ela deve ser
fechada como está: em aberto (paradoxal mas inevitável). A sua argumentação
é baseada nas suas idéias e está desconsiderando toda e qualquer
arguemntação que eu coloquei.
Quanto ao seu email, tenho alguns comentários:
Segue:
Mister M wrote:
>
> -> Pq a discussao eh pertinente?
>
> Se polimorfismo tb pode ser aplicado a overloading (q tb eh uma "feature"
> utilissima do Java, indiscutivelmente) eh uma questao quase religiosa em q
> cada um faz sua decisao. O grande ponto da questao eh q, qdo disserem
> polimorfismo no contexto OOP, sempre pense somente em OVERRIDING.
Não. Quando disserem polimorfismo, pense em overriding e overloading.
> Espere q tenha ficado claro o ponto.
Idem.
> Respeito a opiniao dos colegas q acham
> q o termo polimorfismo tb deveria ser aplicado a overloading e reconheco q
> uma traducao literal do termo (muitas formas) poderia induzir alguem a
> aceitar a ideia, mas por razoes historicas, mantenho minha opiniao sobre se
> aplicar somente a overriding, dynamic binding e afins.
Também mantenho minha opinião de que polimorfismo aplica-se a overriding e
overloading, dynamic binding e afins.
> Poderiamos fazer 12.000.000 de citacoes de livros e nunca chegariamos a
> lugar algum, jah q comecariamos a discutir quem acha qual autor melhor q o
> outro - e aih entrariamos em uma discussao completamente pessoal e
> off-topic.
Concordo, vamos então mudar o foco da discussão a teoria em si e tentarmos
chegar em uma conclusão.
> Em suma:
>
> -> Polimorfismo significa muitas formas;
> -> Polimorfismo eh um dos conceitos essenciais da OOP;
> -> Dentro do contexto OOP, polimorfismo refere-se unica e exclusivamente a
> overloading, dynamic binding e afins;
Ou:
- Dentro do contexto OOP, polimorfismo refere-se unica e
exclusivamente a overloading, OVERRIDING, dynamic binding
e afins;
> -> Dentro do contexto de programacao, alguns afirmam q polimorfismo tb se
> aplica a overloading, conceito este q vem da epoca em q existia somente o C
> e do qual alguns discordam;
Dentro do contexto de OO também diz-se isto.
> -> Overriding e dynamic binding sao essenciais para q o Java seja
> considerado uma linguagem orientada a objetos, enquanto overloading existe
> em varias linguagens nao-orientadas tb, o q nao faz com q deixe de ser uma
> caracteristica extremamente util do Java
Você está cometendo uma falácia lógica. Se para algo pertencer a um
conjunto A ele tem que ter as características {X,Y,Z}, não quer dizer que
se um elemento que não pertence ao conjunto A contém alguma das
características então estas caracterísitcas não definem o conjunto A.
> -> CHEGA DE DISCUTIR POLIMORFISMO; CADA UM DECIDA SE ACHA Q O TERMO SE
> APLICA, ALEM DE A OVERRIDING (O Q EH INDISCUTIVEL) TB A OVERLOADING (EU,
> SVEN E OUTROS - NAO, ANDRE, CHRISTIAN E OUTROS - SIM).
Eu estou aprendendo muito com esta discussão e acredito que é totalmente
válida na lista. Para mim a discussão não está fechada.
Christian
------------------------------ 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]
-------------------------------------------------------------------------