Pessoal, as DUAS versoes sao validas.
Vamos comecar novamente esse assunto? Estah sempre aparecendo nessa lista. Alias, nao
somente nessa, em qualquer comunidade OO que eu conheco esse assunto eh recorrente. E
eh baseado mais eh Fe' do que em argumentos tecnicos.
O fato eh que existem varias ideias e varias possiveis respostas, e TODAS tem suporte
na bibliografia, por autores de grande renome e respeito.
Ou seja, nenhuma posicao eh a verdade absoluta.
Soh para dar mais uma referencia, que nao eh nada definitiva, mas pelo menos eh bem
imparcial, pois usa a palavra polimorfismo para tudo; definindo nao duas, mas quatro
formas diferentes de polimorfismo...
http://www.javaworld.com/javaworld/jw-04-2001/jw-0413-polymorph_p.html
Eh como querer discutir se churrasco eh melhor que feijoada. Escolha a sua preferencia
e pronto, sabendo que ela nao eh a "verdade" ou "no verdadeiro sentido" e coisas assim.
Mas um bom churrasquinho dah de 10 em qquer feijoada ;-)
Silvio
On Tue, 26 June 2001, Sven van �t Veer wrote:
>
> > Ha controversias...
> > Polimorfismo no sentido puro da palavra se refere mesmo ao overriding,
> > ou a capacidade de responder de forma diferente a mesma msg, sendo q
> > uma msg se refere ao nome + parametros, ou seja, mesmo nome e outros
> > parametros nao eh polimorfismo.
>
> Concordo.
>
> Vamos esclarear de novo.
> Polimorfismo � a capacidade de um object de tomar uma 'forma' (pode at�
> ler disfar�ar) diferente. Poli = muitas Morph= mudar de forma.
> public void someMethod(int i)
> public void someMethod(int i, String j) throws Exception
> apesar de ter o mesmo nome s�o DUAS METHODOS COMPLETAMENTE DIFERENTE e
> porem n�o � polimorfismo pois n�o � um object tomando uma outra forma.
>
> interface A{
> }
> interface B{
> }
> class Base implements A{
> }
> class Foo extends Base implements B{
> }
> class Bar extends Foo{
> }
> class FooBar extends Foo{
> }
>
> agora tudo isso pode:
> A a = new FooBar()
> B b = new FooBar()
> Bar bar = new FooBar()
> Foo foo = new FooBar()
>
> bar = foo
> a = bar
>
> etc
>
> >> Overrride significa sobreposicao de metodos. Quando voce herda uma
> >> classe,
> >> por exemplo, e a sua superclasses tem um metodo com o mesmo nome da
> >> sub-classe. Para distinguir, voce faz assim :
> >
> leia method com mesmo signature. Quer dizer mesmos parametros e mesmo
> throws clause. (na verdade o throws clause pode mudar se a exception
> thrown � uma subclasse do exception thrown no methodo que � overriden.
>
>
> ------------------------------ 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]
-------------------------------------------------------------------------