Re: RES: [java-list] Polimorfismo só pode ser aplicado em classes que tenha =?iso-8859-1?Q?Heran=E7a????=

2003-07-09 Por tôpico JoséNeto
Isaque, 

O que você perguntou é conhecido como 'Sobrecarga de Métodos', 

Polimorfismo já é outra coisa.veja abaixo: 

public class A{
 public M1(){
...
 }
} 

public class B{
 public M1(){
   ...
 }
 public M2(){
  ...
 }
} 

public static void main (String args[]){
 A objA = new A();
 B objb = new B(); 

 objA.M1();  -- chama o método M1 do objeto A
 objB.M1();  -- chama o método M1 do objeto B 

 objA = objB; 

 objA.M1();  -- chama o método M1 do objeto B, pois na linha 
anterior fizemos um polimorfismo, ou seja, fizemos com que o objeto da 
classe A tomasse a forma do objeto B..isso é polimorfismo... 

Se eu tiver errado me corrijamcaso contrário, espero que tenha 
ajudado... 

Abraços 

José Neto 



Cristiano S. Neves escritos: 

LORDzpolimorfismo ou sobrecarga de métodos? 

Cristiano S. Neves
Gerente de TI 

Prumos Interativa Ltda.
F   55 226 7951
E   [EMAIL PROTECTED]
U   http://www.prumos.com.br
  -Mensagem original-
  De: diego [mailto:[EMAIL PROTECTED]
  Enviada em: terça-feira, 1 de julho de 2003 12:07
  Para: [EMAIL PROTECTED]; [EMAIL PROTECTED]
  Assunto: Re: [java-list] Polimorfismo só pode ser aplicado em classes que
tenha Herança??? 

  Não necessariamente.
  Quando vc vai sobrecrever um método que está na classe pai, sem sombras de
dúvida você precisa ter uma herança, mas quando você declara vários métodos
com a mesma assinatura, mas que recebem parâmetros diferentes, isto também é
considerado polimorfismo, e pouco importa, neste caso, que você tenha uma
classe ancestral.
- Original Message -
From: [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Friday, June 27, 2003 08:27
Subject: [java-list] Polimorfismo só pode ser aplicado em classes que
tenha Herança??? 

 

 

  É correto afirmar que o Polimorfismo só pode ser aplicado em
classes que tenha Herança??? Alguém pode me ajudar neste conceito? 

  Cordiais saudações,
Isaque Niche Ramos Jota 

 

  Cordiais saudações,
Isaque Niche Ramos Jota 

( (22) 2772-8000
(22) 9903-5193
* [EMAIL PROTECTED]
   UIN:241967404 

 

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.493 / Virus Database: 292 - Release Date: 25/06/03


José Neto 

-- 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
historico: http://www.mail-archive.com/java-list%40soujava.org.br
para sair da lista: envie email para [EMAIL PROTECTED] 
-



Re: [java-list] Polimorfismo s pode ser aplicado em classes que tenha Herana???

2003-07-09 Por tôpico isaque
Title: LORDz



 Andei pesquisando 
mais um pouco com o Coordenador dos cursos de programao da Faculdade 
eencontrei a resposta, mas est em oposiocom a maioria das 
respostas que recebi, como o assunto  interessante, decidi compartilha 
comvocs a resposta.

 Para ser 
polimorfica a operacao tem que ter a mesma assinatura e isto inclui os 
parametros formais.
 Quanto a 
pergunta em si, a resposta e NAO, pois e possivel se utilizar polimorfismo via a 
utilizacao de Interfaces (que e uma estrutura similar a classe que serve apenas 
para definir um grupo de operacoes que deveser implmeentado pelas classes 
que realizam ou implementam a interface.
 Apenas para 
programadores C++, a visao de polimorfismo fica restrita a heranca de classe, 
pois nao existem em c++ o conceito de interface

 Alm disso, se 
a linguagem nao for fortemente tipada (exigir declaracao de tipo), como e o caso 
por exemplo do smalltalk, o polimorfismo pode ocorrer em qualquer tempo, 
bastando para isso que as classes apresentem metodos ou operacoes polimorficas, 
mesmo sem pertecerem a mesma hierarquia de classe.

Marcelo Feres

  - Original Message - 
  From: 
  Antonio 
  Oliveira 
  To: [EMAIL PROTECTED] 
  Sent: Thursday, July 03, 2003 8:30 
  AM
  Subject: Re: [java-list] Polimorfismo s 
  pode ser aplicado em classes que tenha Herana??? 
  
  Caros,
  
  Para que ocorra polimorfismo se faz necessria a 
  existncia de herana de uma classe (abstrata de preferncia) ou a 
  implementao de uma interface. 
  
  PS: 
  1) No vamos confundir o conceito de 
  polimorfismo com o de sobrecarga. O segundo ocorre quando temos em uma mesma 
  classe, mtodos comnomes iguais e assinaturas 
  diferentes.
  2) O conceito de polimorfismo no  da 
  linguagem de programao Java, mas sim da Orientao a Objetos.
  
  
  []
  
  
- Original Message - 
From: 
diego 
To: [EMAIL PROTECTED] ; [EMAIL PROTECTED] 

Sent: Tuesday, July 01, 2003 12:06 
PM
Subject: Re: [java-list] Polimorfismo 
s pode ser aplicado em classes que tenha Herana??? 

No necessariamente.
Quando vc vai sobrecrever um mtodo que est na 
classe pai, sem sombras de dvida voc precisa ter uma herana, mas quando 
voc declara vrios mtodos com a mesma assinatura, mas que recebem 
parmetros diferentes, isto tambm  considerado polimorfismo, e pouco 
importa, neste caso, que voc tenha uma classe ancestral.

  - Original Message - 
  From: 
  [EMAIL PROTECTED] 
  
  To: [EMAIL PROTECTED] 
  Sent: Friday, June 27, 2003 
  08:27
  Subject: [java-list] Polimorfismo s 
  pode ser aplicado em classes que tenha Herana??? 
  
  
  
  
  


  

  correto afirmar que o 
Polimorfismo s pode ser aplicado em classes que tenha Herana??? 
Algum pode me ajudar neste conceito?

Cordiais saudaes,

  
  
Isaque Niche Ramos 
  Jota


  
Cordiais saudaes,

  
  
Isaque Niche Ramos 
  Jota 
  
(
(22) 2772-8000(22) 9903-5193
  
*
[EMAIL PROTECTED]
  

UIN:241967404 



Re: [java-list] Polimorfismo s pode ser aplicado em classes que tenha Herana???

2003-07-06 Por tôpico Joao
Title: LORDz



Parabns Antonio, 

 Fez a lio de casa. Infelizmente, muita 
gente confunde sobrecarga com polimorfismo.

 O polimorfismo  uma arte e deve ser 
tratado como tal e as possibilidades que ele abre em Java so 
incrveis.

 A possibilidade de carregar um objeto filho 
comum handle do paiapenas por no sabermos de que tipo de 
filhoele ,e deixar esta responsabilidade com o java que vai se 
encarregar de executar o mtodo do filho apropriado, permite uma reduo de 
cdigos fantstica. Aplicando estes conceitos j criei classes inteiras onde 
nenhum if foi necessrio, pois o java sabe "se"  isto ou aquilo.

 Joao

  - Original Message - 
  From: 
  Antonio 
  Oliveira 
  To: [EMAIL PROTECTED] 
  Sent: Thursday, July 03, 2003 8:30 
  AM
  Subject: Re: [java-list] Polimorfismo s 
  pode ser aplicado em classes que tenha Herana??? 
  
  Caros,
  
  Para que ocorra polimorfismo se faz necessria a 
  existncia de herana de uma classe (abstrata de preferncia) ou a 
  implementao de uma interface. 
  
  PS: 
  1) No vamos confundir o conceito de 
  polimorfismo com o de sobrecarga. O segundo ocorre quando temos em uma mesma 
  classe, mtodos comnomes iguais e assinaturas 
  diferentes.
  2) O conceito de polimorfismo no  da 
  linguagem de programao Java, mas sim da Orientao a Objetos.
  
  
  []
  
  
- Original Message - 
From: 
diego 
To: [EMAIL PROTECTED] ; [EMAIL PROTECTED] 

Sent: Tuesday, July 01, 2003 12:06 
PM
Subject: Re: [java-list] Polimorfismo 
s pode ser aplicado em classes que tenha Herana??? 

No necessariamente.
Quando vc vai sobrecrever um mtodo que est na 
classe pai, sem sombras de dvida voc precisa ter uma herana, mas quando 
voc declara vrios mtodos com a mesma assinatura, mas que recebem 
parmetros diferentes, isto tambm  considerado polimorfismo, e pouco 
importa, neste caso, que voc tenha uma classe ancestral.

  - Original Message - 
  From: 
  [EMAIL PROTECTED] 
  
  To: [EMAIL PROTECTED] 
  Sent: Friday, June 27, 2003 
  08:27
  Subject: [java-list] Polimorfismo s 
  pode ser aplicado em classes que tenha Herana??? 
  
  
  
  
  


  

  correto afirmar que o 
Polimorfismo s pode ser aplicado em classes que tenha Herana??? 
Algum pode me ajudar neste conceito?

Cordiais saudaes,

  
  
Isaque Niche Ramos 
  Jota


  
Cordiais saudaes,

  
  
Isaque Niche Ramos 
  Jota 
  
(
(22) 2772-8000(22) 9903-5193
  
*
[EMAIL PROTECTED]
  

UIN:241967404 



RES: [java-list] Polimorfismo s pode ser aplicado em classes que tenha Herana???

2003-07-05 Por tôpico Cristiano S. Neves
Title: LORDz



polimorfismo 
ou sobrecarga de mtodos?
Cristiano 
S. NevesGerente de TIPrumos Interativa 
Ltda.F55 226 
7951E[EMAIL PROTECTED]Uhttp://www.prumos.com.br 


  -Mensagem original-De: diego 
  [mailto:[EMAIL PROTECTED]Enviada em: tera-feira, 1 de 
  julho de 2003 12:07Para: [EMAIL PROTECTED]; 
  [EMAIL PROTECTED]Assunto: Re: [java-list] Polimorfismo s 
  pode ser aplicado em classes que tenha Herana??? 
  No necessariamente.
  Quando vc vai sobrecrever um mtodo que est na 
  classe pai, sem sombras de dvida voc precisa ter uma herana, mas quando 
  voc declara vrios mtodos com a mesma assinatura, mas que recebem parmetros 
  diferentes, isto tambm  considerado polimorfismo, e pouco importa, neste 
  caso, que voc tenha uma classe ancestral.
  
- Original Message - 
From: 
[EMAIL PROTECTED] 

To: [EMAIL PROTECTED] 
Sent: Friday, June 27, 2003 08:27
Subject: [java-list] Polimorfismo s 
pode ser aplicado em classes que tenha Herana??? 





  

  
correto afirmar que o 
  Polimorfismo s pode ser aplicado em classes que tenha Herana??? 
  Algum pode me ajudar neste conceito?
  
  Cordiais saudaes,
  


  Isaque Niche Ramos 
Jota
  
  

  Cordiais saudaes,
  


  Isaque Niche Ramos 
Jota 

  (
  (22) 2772-8000(22) 9903-5193

  *
  [EMAIL PROTECTED]

  
  UIN:241967404 
  


Re: [java-list] Polimorfismo s pode ser aplicado em classes que tenha Herana???

2003-07-05 Por tôpico Leandro Fernandes Afonso
Title: LORDz



Isaque,

Polimorfismo  a caracterstica que uma classe tem 
de tratar diferentes tipos de dados de acordo como forem passados para 
ela.

ex: uma mtodo chamado soma() que possa 
tratar:
1+1=2
'java '+'Linux'='Java Linux'
e assim por diante.

este fato de polimorfismo ser dependente de herana 
no  bem verdade, pois so coisas distintas.

Herana j  quando uma classe herda propriedades 
de uma superclasse = herana simples; de mais de uma classe= herana multipla 
(mais complexo)

espero ter ajudado.

Leandro

  - Original Message - 
  From: 
  [EMAIL PROTECTED] 
  To: [EMAIL PROTECTED] 
  Sent: Friday, June 27, 2003 8:27 AM
  Subject: [java-list] Polimorfismo s pode 
  ser aplicado em classes que tenha Herana??? 
  
  
   
  
  


  

  correto afirmar que o 
Polimorfismo s pode ser aplicado em classes que tenha Herana??? Algum 
pode me ajudar neste conceito?

Cordiais saudaes,

  
  
Isaque Niche Ramos Jota


  
Cordiais saudaes,

  
  
Isaque Niche Ramos Jota 
  
(
(22) 2772-8000(22) 9903-5193
  
*
[EMAIL PROTECTED]
  

UIN:241967404 



Re: [java-list] Polimorfismo s pode ser aplicado em classes que tenha Herana???

2003-07-05 Por tôpico Cesar Fernando Moro
Classicamente chamamos de polimorfismo a escolha (tardia), em tempo de 
execuo, do mtodo que ser efetivamente executado quando enviamos uma 
mensagem para um objeto que est dentro de uma varivel, por exemplo. A 
escolha do mtodo a ser executado, depende do objeto que est recebendo 
a mensagem, e no da mensagem em si. Uma mesma mensagem enviada a 
objetos diferentes pode disparar comportamentos distintos.

Por outro lado tambm encontramos na literatura a meno de 
polimorfismo em tempo de execuo descrita no pargrafo anterior e 
polimorfismo em tempo de compilao que seria a escolha do mtodo de a 
ser executado de acordo com a lista de parmetros enviados, ou seja 
sobrecarga.

Concordo que esta nomenclatura diverge da definio clssica de 
polimorfismo, mas pessoalmente eu gosto pois deixa claro o momento da 
escolha em que acontece a escolha de qual mtodo ser executado.

Cesar



Antonio Oliveira wrote:
LORDzCaros,

Para que ocorra polimorfismo se faz necessria a existncia de herana de uma classe (abstrata de preferncia) ou a implementao de uma interface. 

PS: 
 1) No vamos confundir o conceito de polimorfismo com o de sobrecarga. O segundo ocorre quando temos em uma mesma classe, mtodos com  nomes iguais e assinaturas diferentes.
 2) O conceito de polimorfismo no  da linguagem de programao Java, mas sim da Orientao a Objetos.

[]

  - Original Message - 
  From: diego 
  To: [EMAIL PROTECTED] ; [EMAIL PROTECTED] 
  Sent: Tuesday, July 01, 2003 12:06 PM
  Subject: Re: [java-list] Polimorfismo s pode ser aplicado em classes que tenha Herana??? 

  No necessariamente.
  Quando vc vai sobrecrever um mtodo que est na classe pai, sem sombras de dvida voc precisa ter uma herana, mas quando voc declara vrios mtodos com a mesma assinatura, mas que recebem parmetros diferentes, isto tambm  considerado polimorfismo, e pouco importa, neste caso, que voc tenha uma classe ancestral.
- Original Message - 
From: [EMAIL PROTECTED] 
To: [EMAIL PROTECTED] 
Sent: Friday, June 27, 2003 08:27
Subject: [java-list] Polimorfismo s pode ser aplicado em classes que tenha Herana??? 





   correto afirmar que o Polimorfismo s pode ser aplicado em classes que tenha Herana??? Algum pode me ajudar neste conceito?

  Cordiais saudaes,
Isaque Niche Ramos Jota 
   

 
  Cordiais saudaes,
Isaque Niche Ramos Jota 
   
( (22) 2772-8000
(22) 9903-5193 
* [EMAIL PROTECTED] 
   UIN:241967404  

 



--
--
Cesar Fernando Moro - Email: [EMAIL PROTECTED] - ICQ: 157573186
  System Analist/Professor - http://cfmoro.hopto.org
   State University of Maringa - PR - Brazil - Fone:+055-44-261-4324
--
There never was darkness or a problem that could defeat the sunrise or 
hope.
 Bern Williams



-- LISTA SOUJAVA 
http://www.soujava.org.br  -  Sociedade de Usurios Java da Sucesu-SP
dvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
historico: http://www.mail-archive.com/java-list%40soujava.org.br
para sair da lista: envie email para [EMAIL PROTECTED]
-


Re: [java-list] Polimorfismo s pode ser aplicado em classes que tenha Herana???

2003-07-04 Por tôpico Antonio Oliveira
Title: LORDz



Caros,

Para que ocorra polimorfismo se faz necessria a 
existncia de herana de uma classe (abstrata de preferncia) ou a implementao 
de uma interface. 

PS: 
1) No vamos confundir o conceito de 
polimorfismo com o de sobrecarga. O segundo ocorre quando temos em uma mesma 
classe, mtodos comnomes iguais e assinaturas 
diferentes.
2) O conceito de polimorfismo no  da 
linguagem de programao Java, mas sim da Orientao a Objetos.


[]


  - Original Message - 
  From: 
  diego 
  To: [EMAIL PROTECTED] ; [EMAIL PROTECTED] 
  Sent: Tuesday, July 01, 2003 12:06 
  PM
  Subject: Re: [java-list] Polimorfismo s 
  pode ser aplicado em classes que tenha Herana??? 
  
  No necessariamente.
  Quando vc vai sobrecrever um mtodo que est na 
  classe pai, sem sombras de dvida voc precisa ter uma herana, mas quando 
  voc declara vrios mtodos com a mesma assinatura, mas que recebem parmetros 
  diferentes, isto tambm  considerado polimorfismo, e pouco importa, neste 
  caso, que voc tenha uma classe ancestral.
  
- Original Message - 
From: 
[EMAIL PROTECTED] 

To: [EMAIL PROTECTED] 
Sent: Friday, June 27, 2003 08:27
Subject: [java-list] Polimorfismo s 
pode ser aplicado em classes que tenha Herana??? 





  

  
correto afirmar que o 
  Polimorfismo s pode ser aplicado em classes que tenha Herana??? 
  Algum pode me ajudar neste conceito?
  
  Cordiais saudaes,
  


  Isaque Niche Ramos 
Jota
  
  

  Cordiais saudaes,
  


  Isaque Niche Ramos 
Jota 

  (
  (22) 2772-8000(22) 9903-5193

  *
  [EMAIL PROTECTED]

  
  UIN:241967404 
  


Re: [java-list] Re: [java-list] Polimorfismo só pode ser aplicado em classes que tenha Herança???

2003-07-03 Por tôpico Hélio Brandão
Não é obrigatório usar Herança para se obter
o polimorfismo. Em Java é possivel
usar polimorfismo com o uso de interfaces.
Duas classes que não
teem correlação alguma podem implementar
o polimorfismo desde que as duas implementem
uma mesma interface.
Um material muito bom sobre essa questão pode
ser encontrado no Livro Thinking in Java 
Livro gratuito que pode ser baixado pela internet
(Livro muito bom)


 
Abraços
Conrad peres.
- Original Message -
From: [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Friday, June 27, 2003 8:27 AM
Subject: [java-list] Polimorfismo só pode ser aplicado
em classes que tenha Herança???






___
Yahoo! Mail
Mais espaço, mais segurança e gratuito: caixa postal de 6MB, antivírus, proteção 
contra spam.
http://br.mail.yahoo.com/

-- 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
historico: http://www.mail-archive.com/java-list%40soujava.org.br
para sair da lista: envie email para [EMAIL PROTECTED] 
-



Re: [java-list] Polimorfismo s pode ser aplicado em classes que tenha Herana???

2003-07-03 Por tôpico Leandro Yung
Title: LORDz



 parcialmente correto, Overwrite  aplicvel 
apenas para classes que tenham herana.
No entanto, Overload pode ser aplicado para 
qualquer classe, com ou sem herana.


  - Original Message - 
  From: 
  Conrad 
  To: [EMAIL PROTECTED] 
  Sent: Monday, June 30, 2003 5:15 PM
  Subject: Re: [java-list] Polimorfismo s 
  pode ser aplicado em classes que tenha Herana??? 
  
   correto sim polimorfismo em java tem os 
  conceitos de overwrite e overload, que  rescrita de mtodo e "recarregao" 
  (No sei se  a traduo correta), ento no faz sentido falar de polimorfismo 
  seno houver herana.
  
  Abraos
  Conrad peres.
  
- Original Message - 
From: 
[EMAIL PROTECTED] 

To: [EMAIL PROTECTED] 
Sent: Friday, June 27, 2003 8:27 
AM
Subject: [java-list] Polimorfismo s 
pode ser aplicado em classes que tenha Herana??? 





  

  
correto afirmar que o 
  Polimorfismo s pode ser aplicado em classes que tenha Herana??? 
  Algum pode me ajudar neste conceito?
  
  Cordiais saudaes,
  


  Isaque Niche Ramos 
Jota
  
  

  Cordiais saudaes,
  


  Isaque Niche Ramos 
Jota 

  (
  (22) 2772-8000(22) 9903-5193

  *
  [EMAIL PROTECTED]

  
  UIN:241967404 
  


Re: [java-list] Polimorfismo s pode ser aplicado em classes que tenha Herana???

2003-07-02 Por tôpico diego
Title: LORDz



No necessariamente.
Quando vc vai sobrecrever um mtodo que est na 
classe pai, sem sombras de dvida voc precisa ter uma herana, mas quando voc 
declara vrios mtodos com a mesma assinatura, mas que recebem parmetros 
diferentes, isto tambm  considerado polimorfismo, e pouco importa, neste caso, 
que voc tenha uma classe ancestral.

  - Original Message - 
  From: 
  [EMAIL PROTECTED] 
  To: [EMAIL PROTECTED] 
  Sent: Friday, June 27, 2003 08:27
  Subject: [java-list] Polimorfismo s pode 
  ser aplicado em classes que tenha Herana??? 
  
  
   
  
  


  

  correto afirmar que o 
Polimorfismo s pode ser aplicado em classes que tenha Herana??? Algum 
pode me ajudar neste conceito?

Cordiais saudaes,

  
  
Isaque 
  Niche Ramos Jota


  
Cordiais saudaes,

  
  
Isaque 
  Niche Ramos Jota 
  
  
(
(22) 
  2772-8000(22) 9903-5193
  
*
[EMAIL PROTECTED]
  

UIN:241967404 



Re: [java-list] Polimorfismo s pode ser aplicado em classes que tenha Herana???

2003-07-01 Por tôpico Conrad
Title: LORDz



 correto sim polimorfismo em java tem os conceitos 
de overwrite e overload, que  rescrita de mtodo e "recarregao" (No sei se  
a traduo correta), ento no faz sentido falar de polimorfismo seno houver 
herana.

Abraos
Conrad peres.

  - Original Message - 
  From: 
  [EMAIL PROTECTED] 
  To: [EMAIL PROTECTED] 
  Sent: Friday, June 27, 2003 8:27 AM
  Subject: [java-list] Polimorfismo s pode 
  ser aplicado em classes que tenha Herana??? 
  
  
   
  
  


  

  correto afirmar que o 
Polimorfismo s pode ser aplicado em classes que tenha Herana??? Algum 
pode me ajudar neste conceito?

Cordiais saudaes,

  
  
Isaque Niche Ramos Jota


  
Cordiais saudaes,

  
  
Isaque Niche Ramos Jota 
  
(
(22) 2772-8000(22) 9903-5193
  
*
[EMAIL PROTECTED]
  

UIN:241967404 



[java-list] Polimorfismo s pode ser aplicado em classes que tenha Herana???

2003-06-30 Por tôpico isaque
Title: LORDz







  
  

  
correto afirmar que o Polimorfismo 
  s pode ser aplicado em classes que tenha Herana??? Algum pode me ajudar 
  neste conceito?
  
  Cordiais saudaes,
  


  Isaque Niche Ramos Jota
  
  

  Cordiais saudaes,
  


  Isaque Niche Ramos Jota 

  (
  (22) 2772-8000(22) 9903-5193

  *
  [EMAIL PROTECTED]

  
  UIN:241967404 
  


Re: [java-list] polimorfismo ..?

2003-02-05 Por tôpico Daniel Taranta
Na verdade esse exemplo do livro apenas mostrou que vc pode referenciar uma
subclasse com uma referencia da superclasse.

Sou totalmente inexperiente mas sei que isso na prática tem várias funções,
por exemplo, quando vc usa um JScrollPanel vc passa como argumento para o
construtor da classe um JComponent, a classe JComponent é superclasse da
maioria dos componentes swing, portanto em um JScrollPanel vc pode colocar a
maioria dos componentes swing, porque a referência é para um JComponent,
portanto qualquer subclasse pode ser referenciada por ele.
Se não fosse essa tecnica a classe JScrollPanel teria que ter vários
construtores sobrecarregados, cada um para um possível componente swing que
estaria no JScrollPanel, e cada um desses construtores faria a mesma coisa!

PS.: caso ainda não tenha visto a classe JScrollPanel, vc a vera no cap 12,
na página 555, em um exemplo de JList

- Original Message -
From: Lincoln Masao Muraoka Junior [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Monday, February 03, 2003 9:15 AM
Subject: Re: [java-list] polimorfismo ..?


Bom,

Concordo que as duas chamadas vão chamar o mesmo método. Logo porque não
chamar o método pela subclasse direto né?
Eu enxergo no mínimo duas utilizações interessante para isso.
Imagine que você crie uma super classe Sup e 20 subclasses Sub1,
Sub2 ... Sub20. A classe Sup tem um método save() que todas as
subclasses sobreescrevem, que é responsável pela persistência do objeto.
Agora suponha que você, durante o processamento de um programa crie uma
instância de cada uma das subclasses, e ao final do processamento precisa
chamar o método save de todo mundo. Vai te dar um pouquinho de trabalho
chamar o save de cada um deles.
Ao invés disso, você poderia estar criando um array de objetos Sup, como
Sup AAA [].
Dentro de cada linha do array, você colocaria uma referência a cada um
dos objetos de subclasse, e ao final do processamento, poderia chamar um for
e a cada linha do for, vc chama o metodo save da super classe, algo como:
for(int i = 0 ; i  AAA.lenght; i++){
AAA[i].save();
}
Como o método save chamado seria indiretamente o da subclasse, você
teria o processamento exatamente com esperado, sem precisar chamar o método
save para cada um dos tipos de subclasse existente, economizando escrita.
Não sei se você não perde muito em processamento em função do for, porém com
certeza você economiza código, podendo inclusive dessa forma automatizar
alguns processos, pensando assim de forma abstrata.
Um outro exemplo é que você poderia utilizar o conceito de factory dessa
maneira também. Imagine que você tem uma classe que trata Funcionalidades de
um sistema. Assim, você cria uma super classe Funcionalidade, que possui
alguns métodos padrão e a cada nova funcionalidade, você cria uma classe que
extende a super classe Funcionalidade. Assim, você poderia ter uma classe
tratadora das funcionalidades que trata uma funcionalidade genérica, e
sempre que adicionar uma nova funcionalidade, basta criar uma nova classe
que extende a classe Funcionalidade e registra-la em um arquivo de
configurações, por exemplo. A classe tratadora sempre trabalha com os
metodos de superclasse, de forma que você não precisa nunca mais mexer nela,
aumentando bastante a reutilização dos seus componentes bem como
escalabilidade.

ETA
[]s
Lincoln Masao Muraoka Junior
Analista Programador
ASTI Tecnologia - Unidade de Soluções
Tel.: 55 11 3031-0069 r. 232
[EMAIL PROTECTED]
www.astitecnologia.com.br




- Original Message -
From: everson [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Friday, January 24, 2003 2:15 PM
Subject: [java-list] polimorfismo ..?



olá lista.

To lendo o Java como Programar - Deitel, cap 9, pág 409 à 414. Arquivo
Test.java (413). A dúvida é:
pq que ao invés de fazer:
1)

Employee ref;  // superclass reference
Boss b = new Boss( John, Smith, 800.00 );
 ref = b;
output += ref.toString() +  earned $ +   (como está no livro)

não fez direto :
2)
output += b.toString() +  earned $ +   (minha dúvida)

Já q no 1) vai ser chamado o metodo toString da classe Boss, como no 2) ...
Existe alguma diferença entre
um e outro ???




-- 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
historico: http://www.mail-archive.com/java-list%40soujava.org.br
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
historico: http://www.mail-archive.com/java-list%40soujava.org.br
para sair da lista: envie email

Re: [java-list] polimorfismo ..?

2003-02-03 Por tôpico Lincoln Masao Muraoka Junior
Bom,

Concordo que as duas chamadas vão chamar o mesmo método. Logo porque não
chamar o método pela subclasse direto né?
Eu enxergo no mínimo duas utilizações interessante para isso.
Imagine que você crie uma super classe Sup e 20 subclasses Sub1,
Sub2 ... Sub20. A classe Sup tem um método save() que todas as
subclasses sobreescrevem, que é responsável pela persistência do objeto.
Agora suponha que você, durante o processamento de um programa crie uma
instância de cada uma das subclasses, e ao final do processamento precisa
chamar o método save de todo mundo. Vai te dar um pouquinho de trabalho
chamar o save de cada um deles.
Ao invés disso, você poderia estar criando um array de objetos Sup, como
Sup AAA [].
Dentro de cada linha do array, você colocaria uma referência a cada um
dos objetos de subclasse, e ao final do processamento, poderia chamar um for
e a cada linha do for, vc chama o metodo save da super classe, algo como:
for(int i = 0 ; i  AAA.lenght; i++){
AAA[i].save();
}
Como o método save chamado seria indiretamente o da subclasse, você
teria o processamento exatamente com esperado, sem precisar chamar o método
save para cada um dos tipos de subclasse existente, economizando escrita.
Não sei se você não perde muito em processamento em função do for, porém com
certeza você economiza código, podendo inclusive dessa forma automatizar
alguns processos, pensando assim de forma abstrata.
Um outro exemplo é que você poderia utilizar o conceito de factory dessa
maneira também. Imagine que você tem uma classe que trata Funcionalidades de
um sistema. Assim, você cria uma super classe Funcionalidade, que possui
alguns métodos padrão e a cada nova funcionalidade, você cria uma classe que
extende a super classe Funcionalidade. Assim, você poderia ter uma classe
tratadora das funcionalidades que trata uma funcionalidade genérica, e
sempre que adicionar uma nova funcionalidade, basta criar uma nova classe
que extende a classe Funcionalidade e registra-la em um arquivo de
configurações, por exemplo. A classe tratadora sempre trabalha com os
metodos de superclasse, de forma que você não precisa nunca mais mexer nela,
aumentando bastante a reutilização dos seus componentes bem como
escalabilidade.

ETA
[]s
Lincoln Masao Muraoka Junior
Analista Programador
ASTI Tecnologia - Unidade de Soluções
Tel.: 55 11 3031-0069 r. 232
[EMAIL PROTECTED]
www.astitecnologia.com.br




- Original Message -
From: everson [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Friday, January 24, 2003 2:15 PM
Subject: [java-list] polimorfismo ..?



olá lista.

To lendo o Java como Programar - Deitel, cap 9, pág 409 à 414. Arquivo
Test.java (413). A dúvida é:
pq que ao invés de fazer:
1)

Employee ref;  // superclass reference
Boss b = new Boss( John, Smith, 800.00 );
 ref = b;
output += ref.toString() +  earned $ +   (como está no livro)

não fez direto :
2)
output += b.toString() +  earned $ +   (minha dúvida)

Já q no 1) vai ser chamado o metodo toString da classe Boss, como no 2) ...
Existe alguma diferença entre
um e outro ???




-- 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
historico: http://www.mail-archive.com/java-list%40soujava.org.br
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
historico: http://www.mail-archive.com/java-list%40soujava.org.br
para sair da lista: envie email para [EMAIL PROTECTED]
-




Re: [java-list] polimorfismo ..?

2003-02-02 Por tôpico Zforum
Não sei qual é o contexto do capítulo desse livro que você está lendo, mas
acho que o autor está querendo mostrar apenas que é possível chamar métodos
de um objeto através do a chamada virtual de um método (Virtual Method
Invocation).

A variável ref foi criada com o intuito de apontar para um objeto da
classe Employee, mas ao contrário disso recebeu a referência para um
objeto da classe Boss, que é uma subclasse de Employee.

Como as duas classes (Boss e Employee) possuem o método toString, é
possível chamar o método através da variável de referência da superclasse.

Suponha que a classe Boss possuísse um método teste() e a classe
Employee não possuísse esse método. Se você tentar chamar o método
teste() a partir da variável de referência ref, não vai conseguir.

Nesse trecho de código, o método toString chamado, é o método referente ao
objeto da classe Boss para a qual a variável ref está apontando, e não
para o método toString da classe Employee.

A váriável de referência ref é da Classe Employee, mas o conteúdo para o
qual ela está apontando é de um objeto da classe Boss.

Espero ter ajudado.

Zanata, Adalberto - Espaço Reverso Tecnologia
[www.espacoreverso.com.br/a.zanata]

- Original Message -
From: everson [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Friday, January 24, 2003 1:15 PM
Subject: [java-list] polimorfismo ..?



olá lista.

To lendo o Java como Programar - Deitel, cap 9, pág 409 à 414. Arquivo
Test.java (413). A dúvida é:
pq que ao invés de fazer:
1)

Employee ref;  // superclass reference
Boss b = new Boss( John, Smith, 800.00 );
 ref = b;
output += ref.toString() +  earned $ +   (como está no livro)

não fez direto :
2)
output += b.toString() +  earned $ +   (minha dúvida)

Já q no 1) vai ser chamado o metodo toString da classe Boss, como no 2) ...
Existe alguma diferença entre
um e outro ???




-- 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
historico: http://www.mail-archive.com/java-list%40soujava.org.br
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
historico: http://www.mail-archive.com/java-list%40soujava.org.br
para sair da lista: envie email para [EMAIL PROTECTED] 
-




[java-list] polimorfismo ..?

2003-02-01 Por tôpico everson

olá lista.

To lendo o Java como Programar - Deitel, cap 9, pág 409 à 414. Arquivo
Test.java (413). A dúvida é:
pq que ao invés de fazer:
1)

Employee ref;  // superclass reference
Boss b = new Boss( John, Smith, 800.00 );
 ref = b;
output += ref.toString() +  earned $ +   (como está no livro)

não fez direto :
2)
output += b.toString() +  earned $ +   (minha dúvida)

Já q no 1) vai ser chamado o metodo toString da classe Boss, como no 2) ...
Existe alguma diferença entre
um e outro ???




-- 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
historico: http://www.mail-archive.com/java-list%40soujava.org.br
para sair da lista: envie email para [EMAIL PROTECTED]
-




[java-list] Polimorfismo e Herança Múltipla

2002-03-25 Por tôpico Ary Junior



 Olá pessoal, tô com uma dúvida 
em relação a implementação de dois conceitos muito importantes da POO em Java, 
Polimorfismo e Herança Múltipla.
 Bem, imaginemos a classe 
HomemAranha, consideremos também q o HomemAranha não seja somente o PeterParker, 
ou seja, eu também posso ser um objeto da classe HomemAranha. Eu herdo da classe 
Homem, assim como o PeterParker e também vou herdar da clase Aranha. Agora vamos 
empregar a regra do polimorfismo à classe Homem, pois o meu método 
expressarDuvida() da classe Homem retorna "Uai sô!!!" enquanto este mesmo método 
na classe PeterParker retorna "I do not understand!!!".
 E então eu pergunto como fazer 
isto em Java? Já q não posso herdar de duas classes ao mesmo tempo terei q 
utilizar uma Interface? Só consegui resolver este problema assim, fazendo com 
qHomem seja uma interface e Aranha uma classe, sendo assim PeterParker 
extende de Aranha e implementa Homem. Alguma outra sugestão?

Valeu!!!

 
AryJunior


RES: [java-list] Polimorfismo e Herança Múltipla

2002-03-25 Por tôpico Anderson Macedo Silva



Esqueça. Só por gambiarra.
Java 
não tem herança múltipla.

Anderson Macedo Silva 
Impactools - The wise solution 
that fits Centro 
Empresarial de São Paulo Telefone: 5853-2136 

  -Mensagem original-De: Ary Junior 
  [mailto:[EMAIL PROTECTED]]Enviada em: segunda-feira, 25 de 
  março de 2002 10:58Para: 
  [EMAIL PROTECTED]Assunto: [java-list] Polimorfismo e Herança 
  Múltipla
   Olá pessoal, tô com uma dúvida 
  em relação a implementação de dois conceitos muito importantes da POO em Java, 
  Polimorfismo e Herança Múltipla.
   Bem, imaginemos a classe 
  HomemAranha, consideremos também q o HomemAranha não seja somente o 
  PeterParker, ou seja, eu também posso ser um objeto da classe HomemAranha. Eu 
  herdo da classe Homem, assim como o PeterParker e também vou herdar da clase 
  Aranha. Agora vamos empregar a regra do polimorfismo à classe Homem, pois o 
  meu método expressarDuvida() da classe Homem retorna "Uai sô!!!" enquanto este 
  mesmo método na classe PeterParker retorna "I do not 
  understand!!!".
   E então eu pergunto como fazer 
  isto em Java? Já q não posso herdar de duas classes ao mesmo tempo terei q 
  utilizar uma Interface? Só consegui resolver este problema assim, fazendo com 
  qHomem seja uma interface e Aranha uma classe, sendo assim PeterParker 
  extende de Aranha e implementa Homem. Alguma outra sugestão?
  
  Valeu!!!
  
   
AryJunior


Re: [java-list] Polimorfismo e Herança Múltipla

2002-03-25 Por tôpico Lincolm Ferreira de Aguiar



Olá Ary,

Veja eu faria da seguinte 
forma:

 Homem
|
 
PeterParker --- [Aracnídeo]- 
Aranha

A classe PeterParker seria uma 
descendente da classe Homem implementando a interface Aracnídeo. Logo, 
PeterParker seria uma classe Homem com os mesmoscomportamentos da classe 
Aranha. O método expressarDuvida() retornaria "Uai sô".

Espero ter ajudado,

Lincolm Ferreira de 
AguiarWebMaster - QueroProgramar[EMAIL PROTECTED]

www.geocities.com/lincolmf

  - Original Message - 
  From: 
  Ary 
  Junior 
  To: [EMAIL PROTECTED] 
  Sent: Monday, March 25, 2002 10:57 
  AM
  Subject: [java-list] Polimorfismo e 
  Herança Múltipla
  
  
  Quer ter seu próprio endereço na Internet?Garanta já o seu e ainda ganhe 
  cinco e-mails personalizados.DomíniosBOL - http://dominios.bol.com.br
  

  
  

   Olá pessoal, tô com uma dúvida 
  em relação a implementação de dois conceitos muito importantes da POO em Java, 
  Polimorfismo e Herança Múltipla.
   Bem, imaginemos a classe 
  HomemAranha, consideremos também q o HomemAranha não seja somente o 
  PeterParker, ou seja, eu também posso ser um objeto da classe HomemAranha. Eu 
  herdo da classe Homem, assim como o PeterParker e também vou herdar da clase 
  Aranha. Agora vamos empregar a regra do polimorfismo à classe Homem, pois o 
  meu método expressarDuvida() da classe Homem retorna "Uai sô!!!" enquanto este 
  mesmo método na classe PeterParker retorna "I do not 
  understand!!!".
   E então eu pergunto como fazer 
  isto em Java? Já q não posso herdar de duas classes ao mesmo tempo terei q 
  utilizar uma Interface? Só consegui resolver este problema assim, fazendo com 
  qHomem seja uma interface e Aranha uma classe, sendo assim PeterParker 
  extende de Aranha e implementa Homem. Alguma outra sugestão?
  
  Valeu!!!
  
   
AryJunior


Re: [java-list] Polimorfismo

2001-04-26 Por tôpico Sven van ´t Veer
public class CLTest {

 public foobar() {
 }

 public static void main(String[] args) {
  try{
   ClassLoader cl;
   Class c;
   cl = ClassLoader.getSystemClassLoader();
   c = cl.loadClass("foo");
   base b = (base)c.newInstance();
   System.out.println(b.string());
   c = cl.loadClass("bar");
   b = (base)c.newInstance();
   System.out.println(b.string());
  } catch (Exception ex){
   ex.printStackTrace();
  }
 }
}

abstract class base{
 abstract public String string();
}
class foo extends base{
 public String string(){
  return "This is foo talking";
 }
}
class bar extends base{
 public String string(){
  return "This is bar talking";
 }
}

Kleber Rodrigo de Carvalho wrote:
000801c0cc1c$302c3cd0$230a0a0a@CarlaPerez">
  PessoALL !!!
  Algum tem algum exemplo de polimorfismo para eu 
estudar..
  
  OBS: sei que esta pergunta  
basica..
  
  t+
  obrigado
  
  
  
  
  


Re: [java-list] Polimorfismo

2001-04-26 Por tôpico Kleber Rodrigo de Carvalho



Obrigado

[] 'sKleber Rodrigo de CarvalhoSoftware 
Engineer

  - Original Message - 
  From: 
  Sven van ´t Veer 
  To: [EMAIL PROTECTED] 
  Sent: Wednesday, April 25, 2001 8:36 
  AM
  Subject: Re: [java-list] 
  Polimorfismo
  public class CLTest { public foobar() { 
  } public static void main(String[] args) { 
  try{  ClassLoader cl;  Class 
  c;  cl = 
  ClassLoader.getSystemClassLoader();  c = 
  cl.loadClass("foo");  base b = 
  (base)c.newInstance();  
  System.out.println(b.string());  c = 
  cl.loadClass("bar");  b = 
  (base)c.newInstance();  
  System.out.println(b.string()); } catch (Exception 
  ex){  ex.printStackTrace(); } 
  }}abstract class base{ abstract public String 
  string();}class foo extends base{ public String 
  string(){ return "This is foo talking"; 
  }}class bar extends base{ public String 
  string(){ return "This is bar talking"; 
  }}Kleber Rodrigo de Carvalho wrote:
  000801c0cc1c$302c3cd0$230a0a0a@CarlaPerez" 
type="cite">PessoALL !!!
Alguém tem algum exemplo de polimorfismo para 
eu estudar..

OBS: sei que esta pergunta é 
basica..

t+
obrigado





[java-list] Polimorfismo

2001-04-24 Por tôpico Kleber Rodrigo de Carvalho



PessoALL !!!
Alguém tem algum exemplo de polimorfismo para eu 
estudar..

OBS: sei que esta pergunta é 
basica..

t+
obrigado





Re: [java-list] Polimorfismo (PARA FECHAR) II

2001-03-23 Por tôpico Mister M

Volto a frisar novamente q a discussao comecou pq muita gente leu em algum 
lugar q polimorfismo eh somente overloading e nao overriding (2 semanas 
atras). Concordo com vc d q o importante eh saber usar, mas se o kra pensa q 
polimorfismo == overloading e alguem pergunta se ele jah aprendeu a usar 
polimorfismo, vao obter a ideia errada, pq todos nos concluimos de comum 
acordo q polimorfismo eh pelo menos overriding e outros acham q eh tb 
overloading.
Mais lenha na fogueira...

Michael Nascimento Santos
Analista/Consultor
CPM Sistemas - www.cpm.com.br

From: "Marcelo Quintella" [EMAIL PROTECTED]
Reply-To: [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Subject: Re: [java-list] Polimorfismo (PARA FECHAR) II
Date: Wed, 21 Mar 2001 14:27:50 -0500

Eu tenho apenas assistido a toda essa discucao mas nao resisti aa tentacao
de dar o meu palpite...

Eu estou mais para o lado do Andre do que para o lado do Mister M.
"Conceito" de qualquer coisa eh uma coisa meio aleatoria. Alguem define o
conceito e aquilo passa a valer. Mas o que essa discussao toda mostrou eh
que nenhum dos dois conceitos pegou de verdade, e o termo "polimorfismo"
passou a significar diferentes coisas dependendo de _quem_ o usa.

Na minha o opiniao isso nao faz a menor diferenca. Sempre achei que
poliformismo era pura e simplesmente method overriding. Mas os argumentos a
favor ou contra a validade do termo para method overload sao igualmente
fortes.

O que importa para mim eh: Voce sabe usar method overriding eficientemente?
Voce sabe usar method overloading eficientemente? Sabe? Entao otimo, nao 
faz
a menor diference qual dos dois eh "polimorfismo" ou nao. Se quiserem
podemos criar um novo termo e passar a usa-lo...

Pronto. Ai estao os meus cinco centavos...

Abracos a todos,
Marcelo Quintella


- Original Message -
From: "Andre Mendonca" [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: March 21, 2001 1:26 PM
Subject: RE: [java-list] Polimorfismo (PARA FECHAR) II


 
  Mister M,
 
   - Depois, alguem em algum ponto do universo (nao lembro
   quem, estou correndo atras, acho q era um grupo de autores)
   determinou q para ser uma linguagem OO, vc precisa ter
   abstracao, encapsulamento, heranca e polimorfismo. Foram
   essas caras (preciso achar isso, tah dificil...) q definiram
   q polimorfismo EH OVERRING E DYNAMIC BINDING.
 
  Isto nao impede que o conceito seja estendido ou re-interpretado.
  Ou que alguem diga que overloading eh um tipo especifico de
  polimorfismo. Este alguem, em algum ponto do universo, disse
  isso e o conceito pegou, tanto que muita gente hoje concorda com
  ele. Essa pessoa estendeu o conceito. Eu simplesmente nao posso
  dizer que o cara esta _errado_. Eh um conceito novo.
 
   - Por isso, o uso de polimorfismo significando overloading foi
   considerado inapropriado para OOP, jah q, segundo a definicao dos
   camaradas acima, vc precisa implementar o polimorfismo para ser
   uma linguagem OO mas nao precisa implementar overloading.
 
  Eh exatamente sobre isto que eu estou falando. A linguagem que
  implementa overloading, de acordo com este novo (?) conceito,
  implementa "polimorfismo multiplo", ou qualquer outro nome que
  tenha sido adotado. Eh uma nova nomenclatura, apenas.
 
   Soh estou comentando q sua definicao vem de conceitos q foram
   se tornando "deprecated" com o tempo.
 
  Pode ate ser, mas ainda sao utilizados e aceitos por _muita_ gente.
  Essas pessoas nao acham que o termo seja tao deprecated assim.
 
   Eu nao falei qdo disserem polimorfismo, mas sim polimorfismo
   no conceito OOP.
 
  De novo. Conceito de quem? O conceito nao pode ser estendido?
 
   Polimorfismo em OO eh sempre overriding e dynamic binding
 
  De acordo com o seu conceito (e de muitas, muitas outras pessoas,
  eh bem verdade)
 
   Sim, mas acho q alguem (OMG, sei lah) regulamentou a OO e o
   polimorfismo (por consequencia) do jeito q expliquei (so preciso
   achar...)
 
  Alguem pode ter feito isto e o conceito pode ter sido mudado
  posteriormente, ou algumas pessoas podem ter adotado uma nomenclatura
  diferente. Acho que eh saudavel a aceitacao de novos conceitos, por
  mais estranhos que eles possam parecer. Eh possivel que no futuro
  chegue-se `a conclusao _unanima_ de que overloading nao eh polimorfismo
  porem, _hoje_, os dois conceitos sao aceitos. Nao da pra dar as costas
  para tanta gente que acha o contrario.
 
   Nao, dentro do contexto de algumas linguagens sim, mas em OO,
   conceitualmente nao (vide explicacao acima).
 
  Nao existe um conceito de OO imutavel eh inquestionavel. Eh assim que
  as coisas evoluem. Se alguem sugeriu uma modificacao, pode ser que
  ela seja valida.
 
   Polimorfismo tem a ver com a mesma mensagem
 
  Mais uma vez, de acordo com o conceito que voce defende. Outras
  pessoas discordam.
 
  Cordialmente,
 
  Andre Mendonca
  [EMAIL PROTECTED]
 
  -- LISTA SOUJAVA 

[java-list] Polimorfismo (PARA FECHAR MESMO)

2001-03-23 Por tôpico Mister M

Ola todos os interessados nesta discussao:

Acho q nos nao vamos chegar a lugar algum. Vamos resumir todas as opinioes 
entao e chega de papo, ok?

- Overriding:
Capacidade de se sobrescrever um metodo de uma classe pai e este ultimo 
metodo ser chamado mesmo q se esteja trabalhando com a interface pai. Ex:

Pai p = new Filho();
p.facaX();

Se em algum lugar da classe Filho houver uma nova definicao para facaX(), 
esta definicao eh q serah chamada.

- Dynamic binding
Capacidade do interpretador de postergar a identificacao do metodo a ser 
chamado ateh o momento da execucao, ou seja, determinar qual a verdadeira 
classe do objeto e se alguma classe na hierarquia o redefine (ligacao 
dinamica)

- Overloading
Capacidade de se declarar um mesmo metodo com diferentes listas de 
argumento. Ex:

void facaX();
void facaX(Object y);
void facaX(int a);
void facaX(Object y, int a);

- Static binding
Capacidade do compilador de determinar qual metodo overloaded devera ser 
chamado (ligacao estatica)

- Polimorfismo
Pelo menos overriding, sendo alguns tb overloading

- Polimorfismo parametrico
Segundo apostila da Sun, no SL-110 eh vc poder fazer:

p.facaX(new Vector());

qdo na classe P o metodo esta definido como:

void facax(Object o);

ou seja, a capacidade de se "fazer upcasting sozinho" do compilador.
Alguns dizem q nao eh isso, mas sim overloading.

Se esqueci de alguma coisa, favor complementar! tks!

[]'s

Michael Nascimento Santos
Analista/Consultor
CPM Sistemas - www.cpm.com.br

_
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.


-- 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] 
-




RES: [java-list] Polimorfismo

2001-03-23 Por tôpico Alexandre Rodrigues Gomes

Assembly ?  Na compilao so gerados bytecodes que por sua vez, sero
interpretados pelas virtual machines de cada plataforma.

By Al!

-Mensagem original-
De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
Enviada em: quinta-feira, 22 de maro de 2001 9:22
Para: [EMAIL PROTECTED]
Assunto: RES: [java-list] Polimorfismo


Pessoal,
Vamos descer um pouco mais o nvel (da linguagem  claro): Quando um fonte 
compilado e existe o overloading (ex. int test(int a) e int test(int b, char
c) ) o mtodo test  renomeado e no assembly passam a ser mtodos diferentes
com nomes diferentes ento  como se vc tivesse criado 2 mtodos. Assim isso
no  Polimorfismo (no novo conceito de orientao a objeto), simplesmente
porque ele no assume muitas formas em tempo de execuo, ele se transforma
em outro mtodo.

Abrao
Marco




-Mensagem original-
De: Andre Mendonca [mailto:[EMAIL PROTECTED]]
Enviada em: tera-feira, 20 de maro de 2001 16:33
Para: [EMAIL PROTECTED]
Assunto: RE: [java-list] Polimorfismo



Mister M,

Ate onde eu pude ver, muitos autores consideram overloading
um tipo de polimorfismo. Tavez seja uma questao de definicao,
quase como uma preferencia pessoal, que na pratica pouco
afeta a maneira como programamos.

 A capacidade de um objeto decidir qual metodo aplicara
 a si mesmo, dependendo de onde se encontra na hierarquia
 de heranca, e chamda de polimorfismo...

Esta eh a definicao mais conhecida de polimorfismo. Inclusive
eh a unica que eu considerava correta ate o comeco desta
discussao.

 O polimorfismo em uma hierarquia de heranca as vezes eh
 chamado de POLIMORFISMO VERDADEIRO, distinguindo-o do tipo
 mais limitado de sobrecarga de nome que nao eh resolvido
 dinamicamente, mas estaticamente, em tempo de execucao.

Polimorfismo verdadeiro, polimorfismo simples, polimorfismo
(ponto final). Ha outros nomes, provavelmente. Porem, uma
interpretacao deste trecho acima me leva a crer que o autor
nao descarta a existencia de outros tipos de polimorfismo.

 Resumindo:
 - Polimorfismo tem a ver com heranca
 - Polimorfismo tem a ver com fazer:

Como eu disse, muita gente acha que o conceito de polimorfismo
eh um pouco mais abrangente. Repito, ate pouco tempo atras (algumas
horas, talvez), eu nao considerava overloading polimorfismo.
Continuo achando estranho o conceito, mas eu nao diria que eh errado.
Talvez polimorfismo tenha a ver com "muitas formas", o que nao
descarta overloading. Vou perguntar novamente, alguem sabe o que
Bertrand Meyer diz a respeito do assunto?

 Os materiais citados sao propriedade intelectual de seus autores.
 Se alguem ainda tiver duvida sobre esses conceitos basicos da OOP,
 faca um curso da Sun, pq pra isso eles sao bons (aprender Java
 mesmo eh mais complicado...)

Talvez o curso nao seja necessario, ate mesmo porque esta nao
eh uma duvida basica. Eh uma questao conceitual que, ate onde
eu posso ver, esta longe de ser uma unanimidade.

Abraco,

Andre Mendonca
[EMAIL PROTECTED]




-- LISTA SOUJAVA 
http://www.soujava.org.br  -  Sociedade de Usurios Java da Sucesu-SP
dvidas 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 Usurios Java da Sucesu-SP 
dvidas 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 Usurios Java da Sucesu-SP
dvidas 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]
-




RES: [java-list] Polimorfismo (PARA TERMINAR GERAL)

2001-03-23 Por tôpico Jose Euclides da Silva Junior - DIGR.O

-BEGIN PGP SIGNED MESSAGE-

Deixa eu dar minha pequena contribuio...Na minha opinio o polimorfismo 
uma consequncia da existncia da herana ou seja, est associado a
hierarquia de classes. Sendo assim, estender o conceito de polimorfismo a
metodos(no caso overload), pode criar confusao em termos de conceitos de OO.
Abraos,

Jos Euclides Jnior
__
E-mail: [EMAIL PROTECTED]
[EMAIL PROTECTED] 
[EMAIL PROTECTED]
http://euclides.8m.com


- -Mensagem original-
De: Christian Rauh [SMTP:[EMAIL PROTECTED]]
Enviada em: Quinta-feira, 22 de Maro de 2001 17:21
Para:   [EMAIL PROTECTED]
Assunto:Re: [java-list] Polimorfismo

Cleto Henrique Andrade Silva wrote:
 
 voc foi contra a segunda afirmativa quando disse "Dois mtodos
 sobrecarregados tm
 o mesmo nome e so a mesma mensagem com parmetros diferentes.". Se o
 identificador da mensagem  formado pelo nome mais os parmetros, ento,
 dois mtodos sobrecarregados com parmetros diferentes no podem ser a
mesma
 mensagem.

Eu queria dizer: "Dois mtodos sobrecarregados tm o mesmo nome e so a
responsta a mesma mensagem quando recebida com parmetros diferentes."

Christian

- -- LISTA SOUJAVA  
http://www.soujava.org.br  -  Sociedade de Usurios Java da Sucesu-SP 
dvidas 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] 
- -
-BEGIN PGP SIGNATURE-
Version: PGP 6.5.1

iQCVAwUBOruH/N0YhuJ3BUxtAQEXrgQAhKFkHKhRvaDv34n/uTovpRqSAq/ebgJn
4nrFzBcq134USZgPrfjo9W4R/qbutlFoY8tVOnUFEJdVC+MV5PEYya0AIB4EcGAH
1v5VOTmp0kYT2dKB6+sjKfHVF0mYlyjjCT6guAqhKKyAbbEqXDMgi56naEUNUmtA
5ux/BSL6yJQ=
=24WN
-END PGP SIGNATURE-

-- LISTA SOUJAVA 
http://www.soujava.org.br  -  Sociedade de Usurios Java da Sucesu-SP
dvidas 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]
-




RE: [java-list] Polimorfismo (PARA TERMINAR GERAL)

2001-03-23 Por tôpico Jorge Martins

Jos,

Esta definio  fragil, pois em linguagens que no so fortemente tipadas,
voc pode fazer polimorfismo sem necessitar de uma hierarquia de classes.
Mesmo assim, concordo que overload no  polimorfismo.

abraos

Jorge

-Original Message-
From: Jose Euclides da Silva Junior - DIGR.O
[mailto:[EMAIL PROTECTED]]
Sent: sexta-feira, 23 de maro de 2001 11:28
To: [EMAIL PROTECTED]
Subject: RES: [java-list] Polimorfismo (PARA TERMINAR GERAL)


-BEGIN PGP SIGNED MESSAGE-

Deixa eu dar minha pequena contribuio...Na minha opinio o polimorfismo 
uma consequncia da existncia da herana ou seja, est associado a
hierarquia de classes. Sendo assim, estender o conceito de polimorfismo a
metodos(no caso overload), pode criar confusao em termos de conceitos de OO.
Abraos,

Jos Euclides Jnior
__
E-mail: [EMAIL PROTECTED]
[EMAIL PROTECTED] 
[EMAIL PROTECTED]
http://euclides.8m.com


- -Mensagem original-
De: Christian Rauh [SMTP:[EMAIL PROTECTED]]
Enviada em: Quinta-feira, 22 de Maro de 2001 17:21
Para:   [EMAIL PROTECTED]
Assunto:Re: [java-list] Polimorfismo

Cleto Henrique Andrade Silva wrote:
 
 voc foi contra a segunda afirmativa quando disse "Dois mtodos
 sobrecarregados tm
 o mesmo nome e so a mesma mensagem com parmetros diferentes.". Se o
 identificador da mensagem  formado pelo nome mais os parmetros, ento,
 dois mtodos sobrecarregados com parmetros diferentes no podem ser a
mesma
 mensagem.

Eu queria dizer: "Dois mtodos sobrecarregados tm o mesmo nome e so a
responsta a mesma mensagem quando recebida com parmetros diferentes."

Christian

- -- LISTA SOUJAVA  
http://www.soujava.org.br  -  Sociedade de Usurios Java da Sucesu-SP 
dvidas 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] 
- -
-BEGIN PGP SIGNATURE-
Version: PGP 6.5.1

iQCVAwUBOruH/N0YhuJ3BUxtAQEXrgQAhKFkHKhRvaDv34n/uTovpRqSAq/ebgJn
4nrFzBcq134USZgPrfjo9W4R/qbutlFoY8tVOnUFEJdVC+MV5PEYya0AIB4EcGAH
1v5VOTmp0kYT2dKB6+sjKfHVF0mYlyjjCT6guAqhKKyAbbEqXDMgi56naEUNUmtA
5ux/BSL6yJQ=
=24WN
-END PGP SIGNATURE-

-- LISTA SOUJAVA  
http://www.soujava.org.br  -  Sociedade de Usurios Java da Sucesu-SP 
dvidas 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 Usurios Java da Sucesu-SP
dvidas 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]
-




Re: [java-list] Polimorfismo (PARA FECHAR) II

2001-03-22 Por tôpico Leonardo

O Polimorfismo no C++  estabelecido atravs dos mtodos virtuais. O que
torna a funo virtual especial  que, quando uma  acessada usando-se um
ponteiro da class base para um objeto da classe derivada, o C++ determina
qual funo chamar no momento da execuo, baseando-se no tipo de objeto
para o qual se aponta. Assim, quando objetos diferentes so apontados,
diferentes verses so executadas.

O ponto chave para se obter esse polimorfismo  que voc deve acess-la pelo
uso de um ponteiro declarado como um ponteiro para a class base. Ainda que
voc possa chamar uma funo virtual usando o nome do objeto da mesma
maneira que chamaria qualquer outra funo membro, somente quando uma funo
virtual  acessada por meio de um ponteiro para a class base  que o
polimorfismo em tempo de execuo  obtido.

Exemplo:

class Base
{
public:
virtual void Quem(void) { cout  "Base\n";}
};

class Primeira:public Base
{
public:
void Quem(void) { cout  "Primeira\n";}
};

main (void)
{
Base base;
Base *p;
Primeira primeira;

p = base;
p-quem();

p = primeira;
p-quem();

return 0;
}

O resultado dessa execuo ser:

Base
Primeira



- Original Message -
From: "Marcelo Quintella" [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Wednesday, March 21, 2001 4:27 PM
Subject: Re: [java-list] Polimorfismo (PARA FECHAR) II


 Eu tenho apenas assistido a toda essa discucao mas nao resisti aa tentacao
 de dar o meu palpite...

 Eu estou mais para o lado do Andre do que para o lado do Mister M.
 "Conceito" de qualquer coisa eh uma coisa meio aleatoria. Alguem define o
 conceito e aquilo passa a valer. Mas o que essa discussao toda mostrou eh
 que nenhum dos dois conceitos pegou de verdade, e o termo "polimorfismo"
 passou a significar diferentes coisas dependendo de _quem_ o usa.

 Na minha o opiniao isso nao faz a menor diferenca. Sempre achei que
 poliformismo era pura e simplesmente method overriding. Mas os argumentos
a
 favor ou contra a validade do termo para method overload sao igualmente
 fortes.

 O que importa para mim eh: Voce sabe usar method overriding
eficientemente?
 Voce sabe usar method overloading eficientemente? Sabe? Entao otimo, nao
faz
 a menor diference qual dos dois eh "polimorfismo" ou nao. Se quiserem
 podemos criar um novo termo e passar a usa-lo...

 Pronto. Ai estao os meus cinco centavos...

 Abracos a todos,
 Marcelo Quintella


 - Original Message -
 From: "Andre Mendonca" [EMAIL PROTECTED]
 To: [EMAIL PROTECTED]
 Sent: March 21, 2001 1:26 PM
 Subject: RE: [java-list] Polimorfismo (PARA FECHAR) II


 
  Mister M,
 
   - Depois, alguem em algum ponto do universo (nao lembro
   quem, estou correndo atras, acho q era um grupo de autores)
   determinou q para ser uma linguagem OO, vc precisa ter
   abstracao, encapsulamento, heranca e polimorfismo. Foram
   essas caras (preciso achar isso, tah dificil...) q definiram
   q polimorfismo EH OVERRING E DYNAMIC BINDING.
 
  Isto nao impede que o conceito seja estendido ou re-interpretado.
  Ou que alguem diga que overloading eh um tipo especifico de
  polimorfismo. Este alguem, em algum ponto do universo, disse
  isso e o conceito pegou, tanto que muita gente hoje concorda com
  ele. Essa pessoa estendeu o conceito. Eu simplesmente nao posso
  dizer que o cara esta _errado_. Eh um conceito novo.
 
   - Por isso, o uso de polimorfismo significando overloading foi
   considerado inapropriado para OOP, jah q, segundo a definicao dos
   camaradas acima, vc precisa implementar o polimorfismo para ser
   uma linguagem OO mas nao precisa implementar overloading.
 
  Eh exatamente sobre isto que eu estou falando. A linguagem que
  implementa overloading, de acordo com este novo (?) conceito,
  implementa "polimorfismo multiplo", ou qualquer outro nome que
  tenha sido adotado. Eh uma nova nomenclatura, apenas.
 
   Soh estou comentando q sua definicao vem de conceitos q foram
   se tornando "deprecated" com o tempo.
 
  Pode ate ser, mas ainda sao utilizados e aceitos por _muita_ gente.
  Essas pessoas nao acham que o termo seja tao deprecated assim.
 
   Eu nao falei qdo disserem polimorfismo, mas sim polimorfismo
   no conceito OOP.
 
  De novo. Conceito de quem? O conceito nao pode ser estendido?
 
   Polimorfismo em OO eh sempre overriding e dynamic binding
 
  De acordo com o seu conceito (e de muitas, muitas outras pessoas,
  eh bem verdade)
 
   Sim, mas acho q alguem (OMG, sei lah) regulamentou a OO e o
   polimorfismo (por consequencia) do jeito q expliquei (so preciso
   achar...)
 
  Alguem pode ter feito isto e o conceito pode ter sido mudado
  posteriormente, ou algumas pessoas podem ter adotado uma nomenclatura
  diferente. Acho que eh saudavel a aceitacao de novos conceitos, por
  mais estranhos que eles possam parecer. Eh possivel que no futuro
  chegue-se `a conclusao _unanima_ de que overloading nao eh polimorfismo
  porem, _hoje_, os dois conceitos sao aceitos. Nao da pra dar 

Re: [java-list] Polimorfismo

2001-03-22 Por tôpico Christian Rauh

Cleto Henrique Andrade Silva wrote:
 
 voc foi contra a segunda afirmativa quando disse "Dois mtodos
 sobrecarregados tm
 o mesmo nome e so a mesma mensagem com parmetros diferentes.". Se o
 identificador da mensagem  formado pelo nome mais os parmetros, ento,
 dois mtodos sobrecarregados com parmetros diferentes no podem ser a mesma
 mensagem.

Eu queria dizer: "Dois mtodos sobrecarregados tm o mesmo nome e so a
responsta a mesma mensagem quando recebida com parmetros diferentes."

Christian

-- LISTA SOUJAVA  
http://www.soujava.org.br  -  Sociedade de Usurios Java da Sucesu-SP 
dvidas 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] 
-




Re: [java-list] Polimorfismo

2001-03-22 Por tôpico Christian Rauh

Caro Jorge,

Jorge Martins wrote:
 
 Pois no  o mesmo estmulo. Uma mensagem  definida pela assinatura da
 mesma. Se h uma assinatura diferente, h uma mensagem diferente. O nome da
 funo no  suficiente pois assinatura  composta pelo nome da funo +
 tipos dos parmetros.

A mensagem para mim  simplesmente a mensagem e os parmetros no fazem
parte dela. Veja, por exemplo, o Smalltalk onde voc pode chamar qualquer
mtodo com qualquer nmero e tipo de parmetro.

 No seu exemplo, para formatar data, voc mesmo denunciou que so mensagens
 diferentes. Dizer "formate data com padro usual" e "formate data com este
 padro" so coisas diferentes. Seria polimorfismo se eu disse "formate data"
 e o OBJETO tomasse a deciso da formatao.

Na verdade eu escrevi mal o que eu queria dizer. Eram para ser, como voc
bem observou, "formate e data" e "formate a data com este padro", onde no
primeiro caso a data  formatada com um padro usual e no segundo com um
padro diferente do usual. Este comportemente  bastante usado quando se
faz um mtodo que tem defaults para os parmetros de outro mtodo. Ambos
respondem a mesma mensagem para parmetros diferentes.

 Perceba o conceito, eu falaria para o objeto uma s mensagem e ESTE TOMARIA
 A DECISO DO PROCEDIMENTO. Ou seja, ele se comportaria polimorficamente a
 partir de um mesmo estmulo, ou mensagem.

Exato! E esta deciso seria baseada na classe e parmetros. (Contrariamente
a somente na classe como o Michael, Sven e voc, entre outros, defendem).

At mais,

Chrsitian Rauh

-- LISTA SOUJAVA  
http://www.soujava.org.br  -  Sociedade de Usurios Java da Sucesu-SP 
dvidas 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] 
-




Re: [java-list] Polimorfismo (PARA FECHAR) II

2001-03-22 Por tôpico Sven van ´t Veer



Marcelo Quintella wrote:

 Eu tenho apenas assistido a toda essa discucao mas nao resisti aa tentacao
 de dar o meu palpite...
 
 Eu estou mais para o lado do Andre do que para o lado do Mister M.
 "Conceito" de qualquer coisa eh uma coisa meio aleatoria. Alguem define o
 conceito e aquilo passa a valer. Mas o que essa discussao toda mostrou eh
 que nenhum dos dois conceitos pegou de verdade, e o termo "polimorfismo"
 passou a significar diferentes coisas dependendo de _quem_ o usa.

J que somos todos javaneses devemos aceitar a definio usado nos 
curso da Sun e nos livros sobre Java, que dis que polimorfismo no  
method overloading. Tambm no d para ctar livros de 19990/19991 ou at 
antes. Na ciencia em geral, a significativa dedefinies e theorias 
cientificas mudam isso  chamado paradigm shift na filosofia (pos 
modernismo).

 Na minha o opiniao isso nao faz a menor diferenca. Sempre achei que
 poliformismo era pura e simplesmente method overriding. Mas os argumentos a
 favor ou contra a validade do termo para method overload sao igualmente
 fortes.

 Entao otimo, nao faz
 a menor diference qual dos dois eh "polimorfismo" ou nao. Se quiserem
 podemos criar um novo termo e passar a usa-lo...

Faz diferena sim, se alguem te perguntasse o que  polimorfismo. 
Neste caso voe deveria saber o que , deveria saber tambm para 
applicar na prtica j que polimorfismo para Java  to importante qunto 
saber usar for (;;).

Sven


-- LISTA SOUJAVA  
http://www.soujava.org.br  -  Sociedade de Usurios Java da Sucesu-SP 
dvidas 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] 
-




Re: [java-list] Polimorfismo

2001-03-22 Por tôpico Sven van ´t Veer

Cleto Henrique Andrade Silva wrote:

 Caro Christian,
 
 voc foi contra a segunda afirmativa quando disse "Dois mtodos
 sobrecarregados tm
 o mesmo nome e so a mesma mensagem com parmetros diferentes.". Se o
 identificador da mensagem  formado pelo nome mais os parmetros, ento,
 dois mtodos sobrecarregados com parmetros diferentes no podem ser a mesma
 mensagem.

Est completamente certo!

Sven


-- LISTA SOUJAVA  
http://www.soujava.org.br  -  Sociedade de Usurios Java da Sucesu-SP 
dvidas 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] 
-




RE: [java-list] Polimorfismo (PARA FECHAR)

2001-03-21 Por tôpico Mister M

Ola Andre e Christian (e lista),

Essa "nova" discussao sobre polimorfismo iniciou-se qdo eu enviei a citacao 
do Bruce Eckel. Antes q isso vire off-topic e uma guerra, deixe-me explicar 
pra todo mundo o q acontece e pq este assunto eh pertinente (espero q seja a 
ultima vez... :-))

- O que eh polimorfismo?

Ateh o inicio da decada de 90, polimorfismo era (com certeza, 
indiscutivelmente) a capacidade presente no C de se declarar uma funcao com 
um mesmo nome e varios argumentos - void funcao(int a), void funcao(int a, 
int b).
Com o surgimento das linguagens orientadas a objeto, polimorfismo passou a 
ser definido como a capacidade de uma chamada de metodo sempre acontecer no 
ultimo objeto da hierarquia que o redefine (em Java eh assim, em C++ eh 
preciso usar virtual).
No contexto de OOP, polimorfismo conforme definido somente no paragrafo 
acima (juntamente com abstracao de dados, encapsulamento e heranca) passou a 
ser um dos conceitos essenciais para que uma linguagem pudesse ser 
considerada orientada a objetos. A primeira definicao deveria continuar 
sendo usada somente nas linguagens antigas, mas jah q Java e C++ suportam 
overloading, alguns autores continuaram utilizando o termo
polimorfismo para se referiri a ele tb. Aih comeca nossa discussao...

- Por q ha esssa discussao?

Ha duas semanas atras, alguem na lista falou q estava lendo um livro sobre 
Java e disse que este livro SOH CONSIDERAVA POLIMORFISMO COMO OVERLOADING, 
ALGO COMPLETAMENTE INCONCEBIVEL MESMO PARA OS QUE DEFENDEM Q OVERLOADING TB 
EH POLIMORFISMO. Daih, eu e o Sven nos revezamos (pode-se dizer) para 
explicar q o termo polimorfimo (DENTRO DO CONTEXTO OOP) se aplica a 
OVERRIDING ou DYNAMIC BINDING.

- Pq a discussao eh pertinente?

Conforme jah explicado, polimorfismo (significando overriding) eh um dos
conceitos essenciais da OOP (object-oriented programming ou POO ou OO, como 
desejarem). Se vc nao sabe como funciona  a ligacao dinamica, entao vc vai 
ter SERIOS PROBLEMAS EM JAVA. Por isso q eu disse q era um conceito basico, 
no sentido de ser ESSENCIAL, A BASE PARA PROGRAMAR BEM EM JAVA.
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. Agora, qdo 
ponto for somente PROGRAMACAO JAVA, aih vc decide se polimorfismo tb eh 
overloading ou nao. Como alguns acham (eu nao, but anyway) q religiao nao se 
discute, eh bom a gente parar por aki.


Espere q tenha ficado claro o ponto. 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.
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.
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;
- 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;
- 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
- 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).

Obrigado pela atencao e paciencia de terem lido ate aki.
[]'s

Michael Nascimento Santos
Analista/Consultor
CPM Sistemas - www.cpm.com.br

_
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.


-- 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] 
-




Re: [java-list] Polimorfismo (PARA FECHAR) II

2001-03-21 Por tôpico Christian Rauh

Caro Michael,

Eu vou lhe fazer uma pergunta e se a sua resposta for adequada eu posso
mudar de opinio quanto a minha posio. A pergunta :

  Porque o overloading no  polimorfismo?

Acredito que a resposta a esta pergunta  crucial para definirmos se
overloading  ou no  polimorfismo.

Acho que voc est colocando a sua definio como final e acredito que a
discusso  longe de final. Se devemos fechar a questo, ela deve ser
fechada como est: em aberto (paradoxal mas inevitvel). A sua argumentao
 baseada nas suas idias e est desconsiderando toda e qualquer
arguemntao que eu coloquei.

Quanto ao seu email, tenho alguns comentrios:

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.

No. 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.

Tambm mantenho minha opinio 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 ento mudar o foco da discusso a teoria em si e tentarmos
chegar em uma concluso.

 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 tambm 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 falcia lgica. Se para algo pertencer a um
conjunto A ele tem que ter as caractersticas {X,Y,Z}, no quer dizer que
se um elemento que no pertence ao conjunto A contm alguma das
caractersticas ento estas caractersitcas no 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 discusso e acredito que  totalmente
vlida na lista. Para mim a discusso no est fechada.

Christian

-- LISTA SOUJAVA  
http://www.soujava.org.br  -  Sociedade de Usurios Java da Sucesu-SP 
dvidas 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] 
-




Re: [java-list] Polimorfismo

2001-03-21 Por tôpico Sven van ´t Veer

Mister M wrote:

 Ola Christian Rauh,
 
 NENHUMA LINGUAGEM precisa suportar overloading para ser orientada a 
 objetos.  C suporta overloading e NAO EH ORIENTADA A OBJETOS. Nao ha 
 exemplos aih, mas  vc poder dizer:
 
 public void fazX(int a);
 public void fazX(inta, int b);

Isso no  plenamente verdade. Existem alguns implementaes de C que 
suportam overloading, mas no  portavel. Ansi  KR C no supportam 
overloading. Por isso existem por exemplo as familhas de printf  scanf:
printf
vprintf
sprintf
fprintf
vfprintf

etc.

Detalhe, compilando o ddigo acima com varias compiladores C++ 
provavelmente no reclamam e compilam, mesmo sendo cdigo C. Outro 
detalhe, C at tem alguns jeitinhosde criar objetos. O struct e union 
aceitam function pointers. Na verdade o Stroustrup quando crio C++ usava 
o struct como base para classes.

Sven


-- LISTA SOUJAVA  
http://www.soujava.org.br  -  Sociedade de Usurios Java da Sucesu-SP 
dvidas 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] 
-




Re: [java-list] Polimorfismo

2001-03-21 Por tôpico Cleto Henrique Andrade Silva

Caros,

- Polimorfismo(vrias formas) significa um mesmo mtodo poder ter
comportamentos diferentes em classes diferentes.

- A assinatura(identificao) de um mtodo  formada pelo seu nome e seus
parmetros e no somente pelo seu nome.

Considerando as duas afirmaes acima podemos concluir que sobrecarga
no  polimorfismo, pois, quando fazemos sobrecarga estamos tratando de
mtodos diferentes apesar de terem o mesmo nome. Dois mtodos
sobrecarregados tm o mesmo nome, porm, no so a mesma mensagem. Portanto,
comportamentos diferentes para mtodos diferentes me parece uma coisa bvia.

Abraos.


-- LISTA SOUJAVA  
http://www.soujava.org.br  -  Sociedade de Usurios Java da Sucesu-SP 
dvidas 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] 
-




[java-list] Polimorfismo (PARA FECHAR) II

2001-03-21 Por tôpico Mister M

Caro Christian

Ok, minha vez...

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.


Com certeza. Acho q vc nao prestou atencao a certas partes do e-mail 
anterior. Frisando:

- No tempo do C puro, overloading ERA POLIMORFISMO.
- Depois, alguem em algum ponto do universo (nao lembro quem, estou 
correndo atras, acho q era um grupo de autores) determinou q para ser uma 
linguagem OO, vc precisa ter abstracao, encapsulamento, heranca e 
polimorfismo. Foram essas caras (preciso achar isso, tah dificil...) q 
definiram q polimorfismo EH OVERRING E DYNAMIC BINDING.
- Por isso, o uso de polimorfismo significando overloading foi considerado 
inapropriado para OOP, jah q, segundo a definicao dos camaradas acima, vc 
precisa implementar o polimorfismo para ser uma linguagem OO mas nao precisa 
implementar overloading. Matematicamente,
se todo conjunto L (linguagem) precisa conter o conjunto P (polimorfismo) 
mas nao o conjunto O (overloading), isso significa q O nao esta contido em P 
(overloading nao faz parte do 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.

Nao, nao estou desprezando. Soh estou comentando q sua definicao vem de 
conceitos q foram se tornando "deprecated" com o tempo.

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.

Eu nao falei qdo disserem polimorfismo, mas sim polimorfismo no conceito 
OOP. Polimorfismo em OO eh sempre overriding e dynamic binding


  Espere q tenha ficado claro o ponto.

Idem.

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.

E eu a minha...

  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.

Sim, mas acho q alguem (OMG, sei lah) regulamentou a OO e o polimorfismo 
(por consequencia) do jeito q expliquei (so preciso achar...)


  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;

Eu quis dizer overriding, dynamic binding e afins e nao overloading (foi a 
pressa :-));

  - 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.

Nao, dentro do contexto de algumas linguagens sim, mas em OO, 
conceitualmente nao (vide explicacao acima). Alguns seguem o conceito 
herdado do C, q nao eh parte da OO, mas sim da linguagem. Polimorfismo tem a 
ver com a mesma mensagem e mudar a lista de argumentos muda a mensagem (por 
mais q isso vah iniciar outra discussao...)


  - 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.

Nao quis dizer o q vc entendeu (nem lembrava mais o q era falacia, tive isso 
em filosofia... 

Re: [java-list] Polimorfismo

2001-03-21 Por tôpico Christian Rauh

Caro Cleto,

Cleto Henrique Andrade Silva wrote:
 
 - Polimorfismo(vrias formas) significa um mesmo mtodo poder ter
 comportamentos diferentes em classes diferentes.

Ou:

 - Polimorfismo(vrias formas) significa um mesmo mtodo poder ter
 comportamentos diferentes.

 - A assinatura(identificao) de um mtodo  formada pelo seu nome e seus
 parmetros e no somente pelo seu nome.
 
 Considerando as duas afirmaes acima podemos concluir que sobrecarga
 no  polimorfismo, pois, quando fazemos sobrecarga estamos tratando de
 mtodos diferentes apesar de terem o mesmo nome. Dois mtodos
 sobrecarregados tm o mesmo nome, porm, no so a mesma mensagem. Portanto,
 comportamentos diferentes para mtodos diferentes me parece uma coisa bvia.

Considerando a minha primeira afirmao podemos concluir que sobrecarga 
polimorfismo, pois, quando fazemos sobrecarga estamos tratando de funces
diferentes que implementam o mesmo mtodo. Dois mtodos sobrecarregados tm
o mesmo nome e so a mesma mensagem com parmetros diferentes. Portanto,
comportamentos diferentes parao mesmo mtodo, me parece uma coisa bvia.

Christian

-- LISTA SOUJAVA  
http://www.soujava.org.br  -  Sociedade de Usurios Java da Sucesu-SP 
dvidas 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] 
-




Re: [java-list] Polimorfismo

2001-03-21 Por tôpico Christian Rauh

Caro Jorge,

 Jorge Martins wrote:
 
 Concordo com voc e ainda digo mais. Conceitualmente, polimorfirsmo  a
 capacidade dos objetos responderem diferenciadamente a mesma mensagem (ou
 estmulo) de acordo com sua classe no momento.

De acordo com a classe e parmetros.
 
 Dois mtodos com assinaturas diferentes no podem ser considerados a
 mesma mensagem.

Porque no?

 Apenas possuem o mesmo nome (ou token) com o fim de
 facilitar o entendimento do programador, mas em momento algum representam
 a mesma mensagem.

Representam sim, afinal  comum fazermos overloading para justamente tratar
a mesma mensagem de maneira diferente de acordo com os mtodos. Por
exemplo, formatar uma data com o padro usual ou com um padro
especificado.

Christian

-- LISTA SOUJAVA  
http://www.soujava.org.br  -  Sociedade de Usurios Java da Sucesu-SP 
dvidas 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] 
-




RE: [java-list] Polimorfismo (PARA FECHAR) II

2001-03-21 Por tôpico Andre Mendonca


Mister M,

 - Depois, alguem em algum ponto do universo (nao lembro 
 quem, estou correndo atras, acho q era um grupo de autores) 
 determinou q para ser uma linguagem OO, vc precisa ter 
 abstracao, encapsulamento, heranca e polimorfismo. Foram 
 essas caras (preciso achar isso, tah dificil...) q definiram 
 q polimorfismo EH OVERRING E DYNAMIC BINDING.

Isto nao impede que o conceito seja estendido ou re-interpretado.
Ou que alguem diga que overloading eh um tipo especifico de
polimorfismo. Este alguem, em algum ponto do universo, disse
isso e o conceito pegou, tanto que muita gente hoje concorda com
ele. Essa pessoa estendeu o conceito. Eu simplesmente nao posso
dizer que o cara esta _errado_. Eh um conceito novo.

 - Por isso, o uso de polimorfismo significando overloading foi 
 considerado inapropriado para OOP, jah q, segundo a definicao dos 
 camaradas acima, vc precisa implementar o polimorfismo para ser 
 uma linguagem OO mas nao precisa implementar overloading. 

Eh exatamente sobre isto que eu estou falando. A linguagem que
implementa overloading, de acordo com este novo (?) conceito,
implementa "polimorfismo multiplo", ou qualquer outro nome que
tenha sido adotado. Eh uma nova nomenclatura, apenas.

 Soh estou comentando q sua definicao vem de conceitos q foram 
 se tornando "deprecated" com o tempo.

Pode ate ser, mas ainda sao utilizados e aceitos por _muita_ gente.
Essas pessoas nao acham que o termo seja tao deprecated assim.

 Eu nao falei qdo disserem polimorfismo, mas sim polimorfismo 
 no conceito OOP. 

De novo. Conceito de quem? O conceito nao pode ser estendido?

 Polimorfismo em OO eh sempre overriding e dynamic binding

De acordo com o seu conceito (e de muitas, muitas outras pessoas,
eh bem verdade)

 Sim, mas acho q alguem (OMG, sei lah) regulamentou a OO e o 
 polimorfismo (por consequencia) do jeito q expliquei (so preciso 
 achar...)

Alguem pode ter feito isto e o conceito pode ter sido mudado
posteriormente, ou algumas pessoas podem ter adotado uma nomenclatura
diferente. Acho que eh saudavel a aceitacao de novos conceitos, por
mais estranhos que eles possam parecer. Eh possivel que no futuro
chegue-se `a conclusao _unanima_ de que overloading nao eh polimorfismo
porem, _hoje_, os dois conceitos sao aceitos. Nao da pra dar as costas
para tanta gente que acha o contrario.

 Nao, dentro do contexto de algumas linguagens sim, mas em OO, 
 conceitualmente nao (vide explicacao acima). 

Nao existe um conceito de OO imutavel eh inquestionavel. Eh assim que
as coisas evoluem. Se alguem sugeriu uma modificacao, pode ser que
ela seja valida. 

 Polimorfismo tem a ver com a mesma mensagem 

Mais uma vez, de acordo com o conceito que voce defende. Outras
pessoas discordam.

Cordialmente,

Andre Mendonca
[EMAIL PROTECTED]

-- LISTA SOUJAVA  
http://www.soujava.org.br  -  Sociedade de Usurios Java da Sucesu-SP 
dvidas 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] 
-




Re: [java-list] Polimorfismo

2001-03-21 Por tôpico Cleto Henrique Andrade Silva

Caro Christian,

voc foi contra a segunda afirmativa quando disse "Dois mtodos
sobrecarregados tm
o mesmo nome e so a mesma mensagem com parmetros diferentes.". Se o
identificador da mensagem  formado pelo nome mais os parmetros, ento,
dois mtodos sobrecarregados com parmetros diferentes no podem ser a mesma
mensagem.

Cleto.

- Original Message -
From: "Christian Rauh" [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Wednesday, March 21, 2001 2:23 PM
Subject: Re: [java-list] Polimorfismo


 Caro Cleto,

 Cleto Henrique Andrade Silva wrote:
 
  - Polimorfismo(vrias formas) significa um mesmo mtodo poder ter
  comportamentos diferentes em classes diferentes.

 Ou:

  - Polimorfismo(vrias formas) significa um mesmo mtodo poder ter
  comportamentos diferentes.

  - A assinatura(identificao) de um mtodo  formada pelo seu nome e
seus
  parmetros e no somente pelo seu nome.
 
  Considerando as duas afirmaes acima podemos concluir que
sobrecarga
  no  polimorfismo, pois, quando fazemos sobrecarga estamos tratando de
  mtodos diferentes apesar de terem o mesmo nome. Dois mtodos
  sobrecarregados tm o mesmo nome, porm, no so a mesma mensagem.
Portanto,
  comportamentos diferentes para mtodos diferentes me parece uma coisa
bvia.

 Considerando a minha primeira afirmao podemos concluir que sobrecarga 
 polimorfismo, pois, quando fazemos sobrecarga estamos tratando de funces
 diferentes que implementam o mesmo mtodo. Dois mtodos sobrecarregados
tm
 o mesmo nome e so a mesma mensagem com parmetros diferentes. Portanto,
 comportamentos diferentes parao mesmo mtodo, me parece uma coisa bvia.

 Christian

 -- LISTA SOUJAVA 
 http://www.soujava.org.br  -  Sociedade de Usurios Java da Sucesu-SP
 dvidas 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 Usurios Java da Sucesu-SP 
dvidas 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] 
-




Re: [java-list] Polimorfismo (PARA FECHAR) II

2001-03-21 Por tôpico Marcelo Quintella

Eu tenho apenas assistido a toda essa discucao mas nao resisti aa tentacao
de dar o meu palpite...

Eu estou mais para o lado do Andre do que para o lado do Mister M.
"Conceito" de qualquer coisa eh uma coisa meio aleatoria. Alguem define o
conceito e aquilo passa a valer. Mas o que essa discussao toda mostrou eh
que nenhum dos dois conceitos pegou de verdade, e o termo "polimorfismo"
passou a significar diferentes coisas dependendo de _quem_ o usa.

Na minha o opiniao isso nao faz a menor diferenca. Sempre achei que
poliformismo era pura e simplesmente method overriding. Mas os argumentos a
favor ou contra a validade do termo para method overload sao igualmente
fortes.

O que importa para mim eh: Voce sabe usar method overriding eficientemente?
Voce sabe usar method overloading eficientemente? Sabe? Entao otimo, nao faz
a menor diference qual dos dois eh "polimorfismo" ou nao. Se quiserem
podemos criar um novo termo e passar a usa-lo...

Pronto. Ai estao os meus cinco centavos...

Abracos a todos,
Marcelo Quintella


- Original Message -
From: "Andre Mendonca" [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: March 21, 2001 1:26 PM
Subject: RE: [java-list] Polimorfismo (PARA FECHAR) II



 Mister M,

  - Depois, alguem em algum ponto do universo (nao lembro
  quem, estou correndo atras, acho q era um grupo de autores)
  determinou q para ser uma linguagem OO, vc precisa ter
  abstracao, encapsulamento, heranca e polimorfismo. Foram
  essas caras (preciso achar isso, tah dificil...) q definiram
  q polimorfismo EH OVERRING E DYNAMIC BINDING.

 Isto nao impede que o conceito seja estendido ou re-interpretado.
 Ou que alguem diga que overloading eh um tipo especifico de
 polimorfismo. Este alguem, em algum ponto do universo, disse
 isso e o conceito pegou, tanto que muita gente hoje concorda com
 ele. Essa pessoa estendeu o conceito. Eu simplesmente nao posso
 dizer que o cara esta _errado_. Eh um conceito novo.

  - Por isso, o uso de polimorfismo significando overloading foi
  considerado inapropriado para OOP, jah q, segundo a definicao dos
  camaradas acima, vc precisa implementar o polimorfismo para ser
  uma linguagem OO mas nao precisa implementar overloading.

 Eh exatamente sobre isto que eu estou falando. A linguagem que
 implementa overloading, de acordo com este novo (?) conceito,
 implementa "polimorfismo multiplo", ou qualquer outro nome que
 tenha sido adotado. Eh uma nova nomenclatura, apenas.

  Soh estou comentando q sua definicao vem de conceitos q foram
  se tornando "deprecated" com o tempo.

 Pode ate ser, mas ainda sao utilizados e aceitos por _muita_ gente.
 Essas pessoas nao acham que o termo seja tao deprecated assim.

  Eu nao falei qdo disserem polimorfismo, mas sim polimorfismo
  no conceito OOP.

 De novo. Conceito de quem? O conceito nao pode ser estendido?

  Polimorfismo em OO eh sempre overriding e dynamic binding

 De acordo com o seu conceito (e de muitas, muitas outras pessoas,
 eh bem verdade)

  Sim, mas acho q alguem (OMG, sei lah) regulamentou a OO e o
  polimorfismo (por consequencia) do jeito q expliquei (so preciso
  achar...)

 Alguem pode ter feito isto e o conceito pode ter sido mudado
 posteriormente, ou algumas pessoas podem ter adotado uma nomenclatura
 diferente. Acho que eh saudavel a aceitacao de novos conceitos, por
 mais estranhos que eles possam parecer. Eh possivel que no futuro
 chegue-se `a conclusao _unanima_ de que overloading nao eh polimorfismo
 porem, _hoje_, os dois conceitos sao aceitos. Nao da pra dar as costas
 para tanta gente que acha o contrario.

  Nao, dentro do contexto de algumas linguagens sim, mas em OO,
  conceitualmente nao (vide explicacao acima).

 Nao existe um conceito de OO imutavel eh inquestionavel. Eh assim que
 as coisas evoluem. Se alguem sugeriu uma modificacao, pode ser que
 ela seja valida.

  Polimorfismo tem a ver com a mesma mensagem

 Mais uma vez, de acordo com o conceito que voce defende. Outras
 pessoas discordam.

 Cordialmente,

 Andre Mendonca
 [EMAIL PROTECTED]

 -- LISTA SOUJAVA 
 http://www.soujava.org.br  -  Sociedade de Usurios Java da Sucesu-SP
 dvidas 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 Usurios Java da Sucesu-SP 
dvidas 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] 
-




RE: [java-list] Polimorfismo

2001-03-21 Por tôpico Jorge Martins

Christian 

Pois no  o mesmo estmulo. Uma mensagem  definida pela assinatura da
mesma. Se h uma assinatura diferente, h uma mensagem diferente. O nome da
funo no  suficiente pois assinatura  composta pelo nome da funo +
tipos dos parmetros.

No seu exemplo, para formatar data, voc mesmo denunciou que so mensagens
diferentes. Dizer "formate data com padro usual" e "formate data com este
padro" so coisas diferentes. Seria polimorfismo se eu disse "formate data"
e o OBJETO tomasse a deciso da formatao. 

Perceba o conceito, eu falaria para o objeto uma s mensagem e ESTE TOMARIA
A DECISO DO PROCEDIMENTO. Ou seja, ele se comportaria polimorficamente a
partir de um mesmo estmulo, ou mensagem.

abraos

Jorge

-Original Message-
From: Christian Rauh [mailto:[EMAIL PROTECTED]]
Sent: quarta-feira, 21 de maro de 2001 14:25
To: [EMAIL PROTECTED]
Subject: Re: [java-list] Polimorfismo


Caro Jorge,

 Jorge Martins wrote:
 
 Concordo com voc e ainda digo mais. Conceitualmente, polimorfirsmo  a
 capacidade dos objetos responderem diferenciadamente a mesma mensagem (ou
 estmulo) de acordo com sua classe no momento.

De acordo com a classe e parmetros.
 
 Dois mtodos com assinaturas diferentes no podem ser considerados a
 mesma mensagem.

Porque no?

 Apenas possuem o mesmo nome (ou token) com o fim de
 facilitar o entendimento do programador, mas em momento algum representam
 a mesma mensagem.

Representam sim, afinal  comum fazermos overloading para justamente tratar
a mesma mensagem de maneira diferente de acordo com os mtodos. Por
exemplo, formatar uma data com o padro usual ou com um padro
especificado.

Christian

-- LISTA SOUJAVA  
http://www.soujava.org.br  -  Sociedade de Usurios Java da Sucesu-SP 
dvidas 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 Usurios Java da Sucesu-SP
dvidas 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]
-




Re: [java-list] Polimorfismo (PARA FECHAR) II

2001-03-21 Por tôpico Sven van ´t Veer

 - No tempo do C puro, overloading ERA POLIMORFISMO. 

Ehmm qual C  essa ??
void test(int a){}
void test(char b) {}
No compila...

 
 - Depois, alguem em algum ponto do universo (nao lembro quem, estou 
 correndo atras, acho q era um grupo de autores) determinou q para ser 
 uma linguagem OO, vc precisa ter abstracao, encapsulamento, heranca e 
 polimorfismo. Foram essas caras (preciso achar isso, tah dificil...) q 
 definiram q polimorfismo EH OVERRING E DYNAMIC BINDING. 

Stroustrup ??


-- LISTA SOUJAVA  
http://www.soujava.org.br  -  Sociedade de Usurios Java da Sucesu-SP 
dvidas 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] 
-




Re: [java-list] Polimorfismo

2001-03-20 Por tôpico Christian Rauh

Caro Michael,

Estou entrando tarde nesta discusso. No sei qual  o ponto
exato que voc e o Sven esto defendendo mas a sua citao 
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
contrrio 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 no  linkagem dinmica" ento "no 
polimorfismo". Revertendo: 

  polimorfismo - linkagem dinmica

Porm, [Budd] diz logo a frente na seo 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 funo
correta em linguagem fortemente tipadas (como C++) e fazer
linkagem esttica  simplesmente um otimizao. Assim, o C++ est
simplesmente otimizando uma caracterstica orientada a objeto.

Obrigado,

Christian Rauh
NewTrade

Referncias:

[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 Usurios Java da Sucesu-SP 
dvidas 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] 
-




[java-list] Polimorfismo

2001-03-20 Por tôpico Mister M

Mais uma citacao do livro Core Java, Cornell  Horstmann, Makron Books, 
1998, traduzido do original da Sun (pg 155-6):

A capacidade de um objeto decidir qual metodo aplicara a si mesmo, 
dependendo de onde se encontra na hierarquia de heranca, e chamda de 
polimorfismo. A ideia por tras do polimorfismo eh que, embora a mensagem 
possa ser a mesma, os objetos talvez respondam de forma diferente. O 
polimorfismo pode se aplicar a qualquer metodo herdado de uma superclasse.
A chave para que o polimorfismo funcione eh chamada de ligacao adiada. Isso 
significa q o compilador nao gera o codigo para chamar um metodo em tempo de 
compilacao. Em vez disso, sempre que vc define um metodo com um objeto, o 
compilador gera o codigo para calcular qual metodo chamara, usando a 
informacao de tipo do objeto. Esse processo geralmente eh conhecido como 
ligacao adiada, ligacao dinamica ou despacho dinamico. O mecanismo regular 
de chamada de funcao eh conhecido como ligacao estatica, pois a operacao a 
ser executada eh completamente determinada em tempo de compilacao. A ligacao 
estatica depende apenas do metodo; a ligacao dinamica depende do tipo de 
variavel do objeto e da posicao do objeto real na hierarquia de heranca.
Resumindo, a heranca e o polimorfismo permitem que o aplicativo informe o 
modo geral pelo qual deseja que as coisas prossigam. As classes individuais 
na hierarquia de heranca sao responsaveis por executar os detalhes - usando 
o polimorfismo para determinar quais metodos chamarah.
O polimorfismo em uma hierarquia de heranca as vezes eh chamado de 
POLIMORFISMO VERDADEIRO, distinguindo-o do tipo mais limitado de sobrecarga 
de nome que nao eh resolvido dinamicamente, mas estaticamente, em tempo de 
execucao.

Veja a pagina 7 do glossario da apostila do curso SL-110:

polymorphism
A method that is "multiply formed". That is, the same method name with THE 
SAME PROTOTYPE is defined for TWO OR MORE CLASSES. Polymorphic methods have 
the same semantics (that is, to read, write, display, and update an object), 
but different IMPLEMENTATIONS. Each implementation is appropriate for the 
particular class for which it is defined.

Resumindo:
- Polimorfismo tem a ver com heranca
- Polimorfismo tem a ver com fazer:

public class Animal {
   public void oi() {
  System.out.println("animal");
   }
}

public class Cachorro extends Animal {
   public void oi() {
  System.out.println("cachorro");
   }
}

public class Teste {
   public static void main(String[] args) {
  Animal animal = new Cachorro();
  animal.oi();
   }
}

e receber cachorro na saida padrao.

- Polimorfismo tem a ver com dynamic binding ou late binding e nunca com 
static binding
- A crenca de q polimorfismo eh sobrecarga ou overloading vem da epoca do 
C, quando nao havia orientacao a objetos. Hoje, digamos assim, dizer que 
overloading == polimorfismo eh "deprecated".

Os materiais citados sao propriedade intelectual de seus autores. Se alguem 
ainda tiver duvida sobre esses conceitos basicos da OOP, faca um curso da 
Sun, pq pra isso eles sao bons (aprender Java mesmo eh mais complicado...)

[]'s
Michael Nascimento Santos
Analista/Consultor
CPM Sistemas - www.cpm.com.br

_
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.


-- 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] 
-




RE: [java-list] Polimorfismo

2001-03-20 Por tôpico Andre Mendonca


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 discusso. No sei qual  o ponto
exato que voc e o Sven esto defendendo mas a sua citao 
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
contrrio 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 no  linkagem dinmica" ento "no 
polimorfismo". Revertendo:

  polimorfismo - linkagem dinmica

Porm, [Budd] diz logo a frente na seo 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 funo
correta em linguagem fortemente tipadas (como C++) e fazer
linkagem esttica  simplesmente um otimizao. Assim, o C++ est
simplesmente otimizando uma caracterstica orientada a objeto.

Obrigado,

Christian Rauh
NewTrade

Referncias:

[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 Usurios Java da Sucesu-SP
dvidas 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 Usurios Java da Sucesu-SP 
dvidas 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] 
-




RE: [java-list] Polimorfismo

2001-03-20 Por tôpico Andre Mendonca


Mister M,

Ate onde eu pude ver, muitos autores consideram overloading 
um tipo de polimorfismo. Tavez seja uma questao de definicao, 
quase como uma preferencia pessoal, que na pratica pouco 
afeta a maneira como programamos.

 A capacidade de um objeto decidir qual metodo aplicara 
 a si mesmo, dependendo de onde se encontra na hierarquia 
 de heranca, e chamda de polimorfismo...

Esta eh a definicao mais conhecida de polimorfismo. Inclusive
eh a unica que eu considerava correta ate o comeco desta 
discussao.

 O polimorfismo em uma hierarquia de heranca as vezes eh 
 chamado de POLIMORFISMO VERDADEIRO, distinguindo-o do tipo 
 mais limitado de sobrecarga de nome que nao eh resolvido 
 dinamicamente, mas estaticamente, em tempo de execucao.

Polimorfismo verdadeiro, polimorfismo simples, polimorfismo
(ponto final). Ha outros nomes, provavelmente. Porem, uma 
interpretacao deste trecho acima me leva a crer que o autor 
nao descarta a existencia de outros tipos de polimorfismo.

 Resumindo:
 - Polimorfismo tem a ver com heranca
 - Polimorfismo tem a ver com fazer:

Como eu disse, muita gente acha que o conceito de polimorfismo
eh um pouco mais abrangente. Repito, ate pouco tempo atras (algumas
horas, talvez), eu nao considerava overloading polimorfismo.
Continuo achando estranho o conceito, mas eu nao diria que eh errado.
Talvez polimorfismo tenha a ver com "muitas formas", o que nao
descarta overloading. Vou perguntar novamente, alguem sabe o que 
Bertrand Meyer diz a respeito do assunto?

 Os materiais citados sao propriedade intelectual de seus autores. 
 Se alguem ainda tiver duvida sobre esses conceitos basicos da OOP, 
 faca um curso da Sun, pq pra isso eles sao bons (aprender Java 
 mesmo eh mais complicado...)

Talvez o curso nao seja necessario, ate mesmo porque esta nao
eh uma duvida basica. Eh uma questao conceitual que, ate onde
eu posso ver, esta longe de ser uma unanimidade.

Abraco,

Andre Mendonca
[EMAIL PROTECTED]




-- LISTA SOUJAVA  
http://www.soujava.org.br  -  Sociedade de Usurios Java da Sucesu-SP 
dvidas 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] 
-




Re: [java-list] Polimorfismo

2001-03-20 Por tôpico anderson balduino

Caro Andr
vi voc comentando a respeito do curso da Sun, sou iniciante e gostaria
que desse a sua opnio a respeito deste cursos, pois estou prestes a
faz-los.

Um abrao Anderson
[EMAIL PROTECTED]

- Original Message -
From: Andre Mendonca [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Tuesday, March 20, 2001 4:33 PM
Subject: RE: [java-list] Polimorfismo



 Mister M,

 Ate onde eu pude ver, muitos autores consideram overloading
 um tipo de polimorfismo. Tavez seja uma questao de definicao,
 quase como uma preferencia pessoal, que na pratica pouco
 afeta a maneira como programamos.

  A capacidade de um objeto decidir qual metodo aplicara
  a si mesmo, dependendo de onde se encontra na hierarquia
  de heranca, e chamda de polimorfismo...

 Esta eh a definicao mais conhecida de polimorfismo. Inclusive
 eh a unica que eu considerava correta ate o comeco desta
 discussao.

  O polimorfismo em uma hierarquia de heranca as vezes eh
  chamado de POLIMORFISMO VERDADEIRO, distinguindo-o do tipo
  mais limitado de sobrecarga de nome que nao eh resolvido
  dinamicamente, mas estaticamente, em tempo de execucao.

 Polimorfismo verdadeiro, polimorfismo simples, polimorfismo
 (ponto final). Ha outros nomes, provavelmente. Porem, uma
 interpretacao deste trecho acima me leva a crer que o autor
 nao descarta a existencia de outros tipos de polimorfismo.

  Resumindo:
  - Polimorfismo tem a ver com heranca
  - Polimorfismo tem a ver com fazer:

 Como eu disse, muita gente acha que o conceito de polimorfismo
 eh um pouco mais abrangente. Repito, ate pouco tempo atras (algumas
 horas, talvez), eu nao considerava overloading polimorfismo.
 Continuo achando estranho o conceito, mas eu nao diria que eh errado.
 Talvez polimorfismo tenha a ver com "muitas formas", o que nao
 descarta overloading. Vou perguntar novamente, alguem sabe o que
 Bertrand Meyer diz a respeito do assunto?

  Os materiais citados sao propriedade intelectual de seus autores.
  Se alguem ainda tiver duvida sobre esses conceitos basicos da OOP,
  faca um curso da Sun, pq pra isso eles sao bons (aprender Java
  mesmo eh mais complicado...)

 Talvez o curso nao seja necessario, ate mesmo porque esta nao
 eh uma duvida basica. Eh uma questao conceitual que, ate onde
 eu posso ver, esta longe de ser uma unanimidade.

 Abraco,

 Andre Mendonca
 [EMAIL PROTECTED]




 -- LISTA SOUJAVA 
 http://www.soujava.org.br  -  Sociedade de Usurios Java da Sucesu-SP
 dvidas 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 Usurios Java da Sucesu-SP 
dvidas 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] 
-




Re: [java-list] Polimorfismo

2001-03-20 Por tôpico Sven van ´t Veer
No concordamos com este explicao pelo seguinte.

Polimorfismo  um dos conceitos mais importante de OOP. O que  Polimorfismo,
 a capacidade de uma referencia de um superclasse (ou interface) conter
a referncia de uma subclasse que inclui o conceito de Dynamic Binding
ou a possibilidade de escolher o methodo certo para invocar at runtime.

Com overloading o progammador escolha qual verso do methodo dentro da mesma
classe tem que ser executado num certo momento durante a executao do programma.
Isso NO  polimorfismo.

veja:

interface a{
  foo();
}

interface b extends a{
  bar();
}

class c implements b{
  foo(){}
}

class d extends c{
  bar(){}
}

class e extends d{
  foo(){}
  bar(){}
}

class q{
  a e = new e();
  e.foo(); // foo chamada da classe e
  e = new c();
  e.foo(); //foo chamada da classe c 
// esses so do seu exemplo.. O compilador sabe o que receber
  doFoo(a x){
a.foo() // nesse methodo, somente sabemos que a classe que foi recebido
 uma implementao da interface a O foo() ser escolhido at runtime, no
 possivel de fazer optimao
 }
}

apesar que a classe 
Christian Rauh wrote:
[EMAIL PROTECTED]">Caro Michael,Estou entrando tarde nesta discusso. No sei qual  o pontoexato que voc e o Sven esto defendendo mas a sua citao errada. No livro "An Introduction to Object-Oriented Progamming"de Timothy Budd [Budd], temos:"The most common form of polymorphism in conventional programminglanguages is overloading". pg. 185Como a referencia [Budd]  mais importante do que [Eckel], temosque: overloading  polimorfismo. O que me parece que  ocontrrio 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 defaultarguments, which are sometimes presented as object-oriented.Dont be fooled; if it isnt late binding, it isnt polymorphism.
Aqui ele implica que "se no  linkagem dinmica" ento "no polimorfismo". Revertendo:   polimorfismo - linkagem dinmicaPorm, [Budd] diz logo a frente na seo 13.2 sobre overloadingque:"The facts that the compiler can often determine the correct[overloading] function at compile time (in a strongly typedlanguage), and can generate only a single code sequence, aresimply optimizations"Ou seja, o fato de que o compilador pode descobrir a funocorreta em linguagem fortemente tipadas (como C++) e fazerlinkagem esttica  simplesmente um otimizao. Assim, o C++ estsimplesmente otimizando uma caracterstica orientada a objeto.Obrigado,Christian RauhNewTradeReferncias:[Budd] Budd, Timothy. "An Introduction to Object-OrientedProgamming", Addison-Wesley, 1991.[Eckel] Eckel, Bruce. "Thinking C++".-- LISTA SOUJAVA  http://www.soujava.org.br  -  Sociedade de Usurios Java da Sucesu-SP dvidas mais comuns: http://www.soujava.org.br/faq.htmregras da lista: http://www.soujava.org.br/regras.htmpara sair da lista: envie email para [EMAIL PROTECTED] -




Re: [java-list] Polimorfismo

2001-03-20 Por tôpico Christian Rauh - Home

Caro Michael e Sven,

Eu entendo que para vocs polimorfismo  caracterstica de um classe
poder agir como outra seja por subclasseamento ou por implementao (de
interfaces). 

Porm, se usarmos o purismo de orientao a objetos o polimorfismo  a
caracterstica de um objeto de responder a uma mesma mensagem de acordo
com um contexto. Espero que vocs concordem com esta definio
ultra-purista.

O que estamos brigando uns com os outros  a respeito do que  este
contexto. Na minha opinio, os parmetros utilizados na mensagem fazem
parte do contexto, enquanto na opinio de vocs, no faz. Na opinio de
vocs apenas a classe do "container" (no sei a expresso em portugus)
faz parte do contexto. Estou correto?

Mister M wrote:
 
 Ola Christian Rauh,
 
 NENHUMA LINGUAGEM precisa suportar overloading para ser 
 orientada a objetos.

Pode ser, mas ser ento que ela precisa suportar polimorfismo tambm?
(No sei se esta era a discusso original).

 C suporta overloading e NAO EH ORIENTADA
 A OBJETOS. 

Isto no quer dizer nada porque se a - b no quer dizer b - a.

 Nao ha exemplos aih, mas vc poder dizer:
 
 public void fazX(int a);
 public void fazX(inta, int b);
 
 nao tem nada a ver com orientacao a objetos. Qdo vc se refere a
 polimorfismo com respeito a OOP, ESSA EH A UNICA FORMA ACEITAVEL,
 EMBORA COSTUMASSE SE USAR ESTA DENOMINACAO NA EPOCA DAS LINGUAGENS
 PROCEDURAIS E ALGUNS AUTORES NAO TENHAM SE RENOVADO.

No entendi o que voc quer dizer.

 Polimorfismo
 eh definido pela grande maioria das corporacoes (INCLUINDO A SUN
 NO JAVA TUTORIAL) como overriding. Vc pode achar 1000 referencias
 que digam polimorfismo == overloading, mas depois da
 chegada da OOP mudou-se para polimorfismo == overriding.

Eu no estou defendendo que polimorfismo == overloading mas sim que
polimorfismo == {overriding, overloading}

Ou seja, segundo a viso de contexto eu estou contando classe e
argumentos como contexto e voc est apenas considerando classe.
 
 Note que Budd diz:
 
 The most common form of polymorphism in CONVENTIAL PROGRAMMING
 LANGUAGES is overloading
 
 e nao em LINGUAGENS ORIENTADAS A OBJETO. E tb:

Sim. Quando coloquei esta citao eu estava interessado em:
"form of polymorphism [...] is overloading". Ou seja, o autor diz que
overloading  polimorfismo.

 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
 
 suponho q vc tenha acrescentado a parte em uppercase (pq
 gramaticamente em ingles o certo seria OVERLOADED)

Sim fui eu que adicionei o "overloading" para inserir o contexto da
frase e no ter que escrever o pargrafo inteiro. E a expresso correta
 "overloading" porque se refere a um das diferentes funes que faz o
overloading da mesma funo "overloaded". Ou seja, em:

  funcao(int a);
  funcao(int a, int b);

Temos que "funcao(int a)" e "funcao(int a, int b)" so "overloading
functions" enquanto "funcao"  uma "overloaded function". 

 e ISSO NAO IMPLICA EM ELE DIZER QUE OVERLOADING EM LINGUAGENS
 ORIENTADAS A OBJETO EH POLIMORFISMO, sao apenas "otimizacoes";
 esta premissa (overloading == polimorfismo) soh se aplica na
 "velha ordem procedural".

No realmente, apesar de que isto  claro nos primeiros pargrados da
Seo intitulada "Overloading". O que isto quer dizer  que o fato de o
compilador poder fazer linkagem esttica dos mtodos com overloaded em
linguagens fortemente tipadas  simplesmente uma otimizao.  uma opo
de implementao do compilador para tornar o cdigo final melhor, no 
necessrio e nem implica que isto no  polimorfismo.

 Eh uma questao muito particular, entretanto, mas todos os livros
 modernos parecem apoiar a minha afirmacao (e a do Bruce Eckel, em
 quem eu confio... costumo trocar uns e-mails com o cara, eh um 
 patrimonio da humanidade... :-))

Quais livros modernos? Eu citei o Budd porque, at onde eu saiba, o
texto dele ainda  uma das referncias nmero 0 em orientao a objetos.

 Soh pra tirar a duvida, procure a ultima edicao do livro do Budd.

Infelizmente eu no a tenho. Mas se voc tiver a, pode citar as
afirmaes contrrias a minha opinio. Ainda assim  bem provvel que eu
comee a discordar do Budd.

 A lista toda (eu acho) agradece pelo seu interesse por essa
 "discussao filosofica". OOP continua sendo um misterio para
 muitos por causa destas divergencias entre as pessoas
 conceituadas.

Concordo totalmente e  raro poder ter tais discusses em uma lista
pblica. Agradeo a disposio e quero ver o seu reply. Gostaria que
voc desse uma ateno especial a questo de mensagens pois j que vamos
tratar de OO vamos para as origens!

Christian Rauh

 []'s
 Michael Nascimento Santos
 Analista/Consultor
 CPM Sistemas - www.cpm.com.br
 
 From: Christian Rauh [EMAIL PROTECTED]
 Reply-To: [EMAIL PROTECTED]
 To: [EMAIL PROTECTED]
 Subject: Re: [java-list] 

Re: [java-list] Polimorfismo

2001-03-20 Por tôpico Christian Rauh - Home

Caro Sven,

Sven van t Veer wrote:
 
 No concordamos com este explicao pelo seguinte.
 
 Polimorfismo  um dos conceitos mais importante de OOP. O que 
 Polimorfismo,  a capacidade de uma referencia de um superclasse (ou
 interface) conter a referncia de uma subclasse que inclui o conceito
 de Dynamic Binding ou a possibilidade de escolher o methodo certo
 para invocar at runtime.

Esta definio  pouco abrangente, veja o meu outro email.

 Com overloading o progammador escolha qual verso do methodo dentro da
 mesma classe tem que ser executado num certo momento durante a
 executao do programma. Isso NO  polimorfismo.

 sim, estou assumindo que alm da classe a ser utilizada, os parmetros
passados tambm fazem parte da escolha da resposta a uma mensagem
(invocao de mtodo).
 
Christian Rauh

-- LISTA SOUJAVA  
http://www.soujava.org.br  -  Sociedade de Usurios Java da Sucesu-SP 
dvidas 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] 
-




[java-list] Polimorfismo

2001-03-19 Por tôpico Mister M

Ola pessoal,

Para finalizar com peso a discussao sobre polimorfismo e mostrar q a
definicao apresentada por mim e pelo Sven eh a correta, lah vai uma citacao
do Thinking in C++, do Bruce Eckel, pg. 716 (737 no PDF), que tb se aplica
ao Java:

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.

Traducao (com algumas observacoes):

As pessoas geralmente ficam consas com outras caracteristicas
NAO-ORIENTADAS-A-OBJETO do C++, como overloading (sobrecarga, ou seja, ter
um metodo a(), a(int i) e a(int i, byte b)) e argumentos padrao, que sao
apresentadas como sendo orientadas a objeto algumas vezes. Nao se deixe
enganar: se nao eh late binding (ou dynamic binding, sinonimos), NAO E
POLIMORFISMO.

O mestre Bruce falou, quem sou eu pra discordar... :-)

Michael Nascimento Santos
Analista/Consultor
CPM Sistemas - www.cpm.com.br

!--
_
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.


-- 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] 
-




Re: RES: [java-list] Polimorfismo

2001-03-09 Por tôpico Mister M

Sim eh verdade (errei feio... :-)). Mas acho q o objetivo foi bem alcancado 
mesmo assim. Ah, polimorfismo parametrico, como chamam alguns o overloading, 
nao pode ser tratado genericamente como polimorfismo. Polimorfismo eh o q 
segue abaixo e fim de papo!!! :-) O resto eh invencao de autores. Os livros 
de OOP desvinculados de linguagem nao aprensentam nada sobre overloading 
(ateh mesmo pq isto NAO CARACTERIZA UMA LINGUAGEM COMO ORIENTADA A OBJETOS) 
e prefiro confiar nesta abordagem neutra. No offenses.

Michael Nascimento Santos
Analista/Consultor
CPM Sistemas - www.cpm.com.br


From: "Aristides Tavares dos Santos" [EMAIL PROTECTED]
Reply-To: [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Subject: Re: RES: [java-list] Polimorfismo
Date: Thu, 8 Mar 2001 11:47:00 -0300

Apenas uma correção matemática, o círculo que vc menciona quer dizer na
verdade circuferência, e círculo preenchido é redundante, basta dizer
círculo.
Abraços
Aristides
- Original Message -
From: "Mister M" [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Thursday, March 08, 2001 8:17 AM
Subject: Re: RES: [java-list] Polimorfismo


  Na verdade, polimorfismo eh o q o Sven explicou no e-mail anterior, ou
seja,
  estah relacionado com o Dynamic Binding. Isso que estah explicado no
e-mail
  do Alexandre (embora eu jah tenha visto milhares de vezes erradamente, o 
q
  significa q algum livro deve ter dito isso) eh o overloading, ou seja, 
qdo
  um metodo tem diversas formas de ser chamado por causa da lista de
  parametros e, por isso, pode tomar n acoes diferentes.
  Vou usar o exemplo classico do livro do Bruce Eckel, Thinking in Java:
 
  Imagine q vc tenha uma classe FormaGeometrica + ou - assim
 
  class FormaGeometrica {
 public void desenha() {
System.out.println("Nao implementado...");
 }
  ...
  ...
  }
 
  Agora imagine uma subclasse assim:
 
  class Circulo extends FormaGeometrica {
 public void desenha() {
// codigo para desenhar circulo...
 }
  ...
  ...
  }
 
  E outra assim:
 
  class CirculoPreenchido extends Circulo {
 public void desenha() {
super.desenha();
// codigo para preencher circulo...
 }
  ...
  ...
  }
 
 
  Qdo vc faz:
 
  FormaGeometrica forma = FabricaDeFormas.geraFormaAleatoria();
 
  imagine que o metodo retorna qualquer forma geometrica registrada no
sistema
  (Circulo, CirculoPreenchido, FormaGeometrica e outras subclasses). Se 
este
  metodo foi declarado como :
 
  class FabricaDeFormas {
 public static FormaGeometrica geraFormaAleatoria() {
file://codigo pra gerar forma aleatoria
 }
  }
 
  ele pode retornar Circulo, por exemplo, q como "extends" FormaGeometrica
EH
  uma FormaGeometrica.
  Voltando a linha do exemplo:
 
 
  FormaGeometrica forma = FabricaDeFormas.geraFormaAleatoria();
  forma.desenha();
 
 
  vc nao pode dizer o q este metodo ira fazer. Ele pode tanto emitir a
  mensagem q nao esta implementado, como pintar um circulo ou ainda pintar
um
  circulo e preenche-lo. Esta eh a beleza do polimorfismo. O metodo da
classe
  q vc realmente retornou do geraFormaAleatoria() e q vai ser chamado. 
Baixe
o
  Thinking In Java (em ingles) do site do Bruce (www.bruceeckel.com).
 
  Michael Nascimento Santos
  Analista/Consultor
  CPM Sistemas - www.cpm.com.br
 
  From: Alexandre Rodrigues Gomes [EMAIL PROTECTED]
  Reply-To: [EMAIL PROTECTED]
  To: "'[EMAIL PROTECTED]'" [EMAIL PROTECTED]
  Subject: RES: [java-list] Polimorfismo
  Date: Wed, 7 Mar 2001 18:01:20 -0300
  
  André, por poliformismo podemos que concluir que seja algo com muitas
  formas, certo ?
  Este algo de que estamos falando são os métodos, ou seja, polimorfismo 
é
a
  propriedade para que um método assuma várias formas.
  Por exemplo, considere um método que faça um pesquisa por um cliente 
numa
  base de dados qualquer. Suponha que eu tenha a possibilidade de fazer a
  pesquisa do cliente pelo seu nome ou por seu CPF. Desta forma, teríamos 
a
  necessidade de criar dois métodos distindos:
  
  findClientByName(String name) e
  findClientByCPF(long cpf)
  
  Com o polimorfismo, isto não é necessário, o que torna sua solução mais
  transparente e elegante:
  
  findClient(String name) e
  findClient(long cpf)
  
  suponha também que desejamos criar um método para pesquisa que faça a
  interseção entre idade e naturalidade. Logo, construiríamos um método 
com
a
  seguinte assinatura:
  
  findClient(Date idade, String natural)
  
  e todos estes métodos poderiam conviver numa mesma classe, sem 
problemas.
  
  By Alê!
  
  
  -Mensagem original-
  De: Yurion "André [mailto:[EMAIL PROTECTED]]
  Enviada em: quarta-feira, 7 de março de 2001 14:44
  Para: [EMAIL PROTECTED]
  Assunto: [java-list] Polimorfismo
  
  
  Caros amigos,
  
  Estou estudando POO e estou com algumas dúvidas sobre
  polimorfismo.
  A única coisa que sei sobre o assunto é que
  está propriedade da OO permite que uma classe tenha
  vári

Re: RES: [java-list] Polimorfismo

2001-03-09 Por tôpico Sven van ´t Veer

Exatamente,

Acho q ateh VB tem Overloading (C tem)

Mister M wrote:

 Sim eh verdade (errei feio... :-)). Mas acho q o objetivo foi bem 
 alcancado  mesmo assim. Ah, polimorfismo parametrico, como chamam 
 alguns o overloading,  nao pode ser tratado genericamente como 
 polimorfismo. Polimorfismo eh o q  segue abaixo e fim de papo!!! :-) O 
 resto eh invencao de autores. Os livros  de OOP desvinculados de 
 linguagem nao aprensentam nada sobre overloading  (ateh mesmo pq isto 
 NAO CARACTERIZA UMA LINGUAGEM COMO ORIENTADA A OBJETOS)  e prefiro 
 confiar nesta abordagem neutra. No offenses.



-- 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] 
-




Re: RES: [java-list] Polimorfismo

2001-03-08 Por tôpico Mister M

Na verdade, polimorfismo eh o q o Sven explicou no e-mail anterior, ou seja, 
estah relacionado com o Dynamic Binding. Isso que estah explicado no e-mail 
do Alexandre (embora eu jah tenha visto milhares de vezes erradamente, o q 
significa q algum livro deve ter dito isso) eh o overloading, ou seja, qdo 
um metodo tem diversas formas de ser chamado por causa da lista de 
parametros e, por isso, pode tomar n acoes diferentes.
Vou usar o exemplo classico do livro do Bruce Eckel, Thinking in Java:

Imagine q vc tenha uma classe FormaGeometrica + ou - assim

class FormaGeometrica {
   public void desenha() {
  System.out.println("Nao implementado...");
   }
...
...
}

Agora imagine uma subclasse assim:

class Circulo extends FormaGeometrica {
   public void desenha() {
  // codigo para desenhar circulo...
   }
...
...
}

E outra assim:

class CirculoPreenchido extends Circulo {
   public void desenha() {
  super.desenha();
  // codigo para preencher circulo...
   }
...
...
}


Qdo vc faz:

FormaGeometrica forma = FabricaDeFormas.geraFormaAleatoria();

imagine que o metodo retorna qualquer forma geometrica registrada no sistema 
(Circulo, CirculoPreenchido, FormaGeometrica e outras subclasses). Se este 
metodo foi declarado como :

class FabricaDeFormas {
   public static FormaGeometrica geraFormaAleatoria() {
  //codigo pra gerar forma aleatoria
   }
}

ele pode retornar Circulo, por exemplo, q como "extends" FormaGeometrica EH 
uma FormaGeometrica.
Voltando a linha do exemplo:


FormaGeometrica forma = FabricaDeFormas.geraFormaAleatoria();
forma.desenha();


vc nao pode dizer o q este metodo ira fazer. Ele pode tanto emitir a 
mensagem q nao esta implementado, como pintar um circulo ou ainda pintar um 
circulo e preenche-lo. Esta eh a beleza do polimorfismo. O metodo da classe 
q vc realmente retornou do geraFormaAleatoria() e q vai ser chamado. Baixe o 
Thinking In Java (em ingles) do site do Bruce (www.bruceeckel.com).

Michael Nascimento Santos
Analista/Consultor
CPM Sistemas - www.cpm.com.br

From: Alexandre Rodrigues Gomes [EMAIL PROTECTED]
Reply-To: [EMAIL PROTECTED]
To: "'[EMAIL PROTECTED]'" [EMAIL PROTECTED]
Subject: RES: [java-list] Polimorfismo
Date: Wed, 7 Mar 2001 18:01:20 -0300

André, por poliformismo podemos que concluir que seja algo com muitas
formas, certo ?
Este algo de que estamos falando são os métodos, ou seja, polimorfismo é a
propriedade para que um método assuma várias formas.
Por exemplo, considere um método que faça um pesquisa por um cliente numa
base de dados qualquer. Suponha que eu tenha a possibilidade de fazer a
pesquisa do cliente pelo seu nome ou por seu CPF. Desta forma, teríamos a
necessidade de criar dois métodos distindos:

findClientByName(String name) e
findClientByCPF(long cpf)

Com o polimorfismo, isto não é necessário, o que torna sua solução mais
transparente e elegante:

findClient(String name) e
findClient(long cpf)

suponha também que desejamos criar um método para pesquisa que faça a
interseção entre idade e naturalidade. Logo, construiríamos um método com a
seguinte assinatura:

findClient(Date idade, String natural)

e todos estes métodos poderiam conviver numa mesma classe, sem problemas.

By Alê!


-Mensagem original-
De: Yurion "André [mailto:[EMAIL PROTECTED]]
Enviada em: quarta-feira, 7 de março de 2001 14:44
Para: [EMAIL PROTECTED]
Assunto: [java-list] Polimorfismo


Caros amigos,

Estou estudando POO e estou com algumas dúvidas sobre
polimorfismo.
A única coisa que sei sobre o assunto é que
está propriedade da OO permite que uma classe tenha
vários métodos com o mesmo nome desde de que o múmero
e o tipo de parâmetros seja diferentes.
Todo mundo fala que polimorfismo é só isso!!
Porém queria que se possível vc´s me mostrassem
exemplos de onde e quando utilizar está propriedade e
o que significa realmente polimorfismo..
Desde já agradeço a atenção de todos,

André Yurion

__
Do You Yahoo!?
Get email at your own domain with Yahoo! Mail.
http://personal.mail.yahoo.com/

-- 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]
-


_
Get Your Private, Free E-mail from MS

Re: [java-list] Polimorfismo

2001-03-08 Por tôpico Leonardo


- Original Message -
From: "Yurion Andr" [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Wednesday, March 07, 2001 2:44 PM
Subject: [java-list] Polimorfismo


 Caros amigos,

 Estou estudando POO e estou com algumas dvidas sobre
 polimorfismo.
 A nica coisa que sei sobre o assunto  que
 est propriedade da OO permite que uma classe tenha
 vrios mtodos com o mesmo nome desde de que o mmero
 e o tipo de parmetros seja diferentes.
 Todo mundo fala que polimorfismo  s isso!!
 Porm queria que se possvel vcs me mostrassem
 exemplos de onde e quando utilizar est propriedade e
 o que significa realmente polimorfismo..
 Desde j agradeo a ateno de todos,

 Andr Yurion

 __
 Do You Yahoo!?
 Get email at your own domain with Yahoo! Mail.
 http://personal.mail.yahoo.com/

 -- LISTA SOUJAVA 
 http://www.soujava.org.br  -  Sociedade de Usurios Java da Sucesu-SP
 dvidas 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]
 -

Imagina uma super classe ou interface Poligono:

public interface Poligono{
public void draw();
}

E duas classes filhos de polgonos: Triangulo e Quadrado:

public class Triangulo implements Poligono{
/** rotina que desenha um triangulo */
public void draw(){
System.out.println("desenhar um triangulo");
}
}

public class Quadrado implements Poligono{
/** rotina que desenha um quadrado */
public void draw(){
System.out.println("desenhar um quadrado");
}
}

Imagine uma classe que contm uma colecao de poligonos e as desenhe:

public class PoligonoCollection extends Vector {
public void inserirPoligono(Poligono poligono){
addElement(poligono);
}

public void drawAll(){
java.util.Enumeration enumeration = elements();
while(enumeration.hasMoreElements()){
 ((Poligono)enumeration.nextElement()).draw();
}
}
}



E uma classe para testa-lo ...


public class TestePoligonos{
public static void main(String [] args){
PoligonoCollection pCollection = new PoligonoCollection();
pCollection.inserirPoligono(new Triangulo());
pCollection.inserirPoligono(new Triangulo());
pCollection.inserirPoligono(new Triangulo());
pCollection.inserirPoligono(new Quadrado());
pCollection.inserirPoligono(new Triangulo());
pCollection.inserirPoligono(new Quadrado());
pCollection.inserirPoligono(new Triangulo());
pCollection.inserirPoligono(new Quadrado());
pCollection.drawAll();
}
}


Por que o polimorfismo ???

Imagina uma outra situao onde voc precise utilizar outras figuras
geomtricas alm do Triangulo e Quadrado...
Voc precisa reimplementar a classe PoligonoCollection ???
Resposta  no !

Sacou o por que do polimorfismo 


[]'s

LN


_
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com


-- LISTA SOUJAVA  
http://www.soujava.org.br  -  Sociedade de Usurios Java da Sucesu-SP 
dvidas 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] 
-




RE: [java-list] Polimorfismo

2001-03-08 Por tôpico Jorge Martins

Andr,

Isto no  polimorfismo. Isto  sobrecarga de mtodos (ou ainda de
construtores). Polimorfismo  a capacidade de objetos responderem
diferenciadamente, de acordo com a sua classe, a um mesma mensagem.

Assim, ao convocar um mtodo de um objeto criado, ele responder de acordo
com a classe que ele foi criado e no de acordo com o tipo de referncia.

Exemplo: (sem entrar no mrito desta pssima modelagem)

class Homem  
{
void anda ()
{

}
}

class Perneta extends Homem
{
void anda()
{
...
}
}

.

Homem a = new Homem();
Homem b = new Perneta();

a.anda();   // anda como um homem
b.anda();   // anda como um perneta

..


Ficou claro?

abraos

Jorge

-Original Message-
From: Yurion "Andr [mailto:[EMAIL PROTECTED]]
Sent: quarta-feira, 7 de maro de 2001 14:44
To: [EMAIL PROTECTED]
Subject: [java-list] Polimorfismo


Caros amigos,

Estou estudando POO e estou com algumas dvidas sobre
polimorfismo.
A nica coisa que sei sobre o assunto  que 
est propriedade da OO permite que uma classe tenha
vrios mtodos com o mesmo nome desde de que o mmero
e o tipo de parmetros seja diferentes.
Todo mundo fala que polimorfismo  s isso!!
Porm queria que se possvel vcs me mostrassem
exemplos de onde e quando utilizar est propriedade e
o que significa realmente polimorfismo..
Desde j agradeo a ateno de todos,

Andr Yurion

__
Do You Yahoo!?
Get email at your own domain with Yahoo! Mail. 
http://personal.mail.yahoo.com/

-- LISTA SOUJAVA  
http://www.soujava.org.br  -  Sociedade de Usurios Java da Sucesu-SP 
dvidas 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 Usurios Java da Sucesu-SP
dvidas 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]
-




RES: RES: [java-list] Polimorfismo

2001-03-08 Por tôpico Alexandre Rodrigues Gomes

falou e disse. Me deixei envolver pela emoo e falei besteira.
Obrigado.

By Al!

-Mensagem original-
De: Mister M [mailto:[EMAIL PROTECTED]]
Enviada em: quinta-feira, 8 de maro de 2001 8:17
Para: [EMAIL PROTECTED]
Assunto: Re: RES: [java-list] Polimorfismo


Na verdade, polimorfismo eh o q o Sven explicou no e-mail anterior, ou seja,

estah relacionado com o Dynamic Binding. Isso que estah explicado no e-mail 
do Alexandre (embora eu jah tenha visto milhares de vezes erradamente, o q 
significa q algum livro deve ter dito isso) eh o overloading, ou seja, qdo 
um metodo tem diversas formas de ser chamado por causa da lista de 
parametros e, por isso, pode tomar n acoes diferentes.
Vou usar o exemplo classico do livro do Bruce Eckel, Thinking in Java:

Imagine q vc tenha uma classe FormaGeometrica + ou - assim

class FormaGeometrica {
   public void desenha() {
  System.out.println("Nao implementado...");
   }
...
...
}

Agora imagine uma subclasse assim:

class Circulo extends FormaGeometrica {
   public void desenha() {
  // codigo para desenhar circulo...
   }
...
...
}

E outra assim:

class CirculoPreenchido extends Circulo {
   public void desenha() {
  super.desenha();
  // codigo para preencher circulo...
   }
...
...
}


Qdo vc faz:

FormaGeometrica forma = FabricaDeFormas.geraFormaAleatoria();

imagine que o metodo retorna qualquer forma geometrica registrada no sistema

(Circulo, CirculoPreenchido, FormaGeometrica e outras subclasses). Se este 
metodo foi declarado como :

class FabricaDeFormas {
   public static FormaGeometrica geraFormaAleatoria() {
  //codigo pra gerar forma aleatoria
   }
}

ele pode retornar Circulo, por exemplo, q como "extends" FormaGeometrica EH 
uma FormaGeometrica.
Voltando a linha do exemplo:


FormaGeometrica forma = FabricaDeFormas.geraFormaAleatoria();
forma.desenha();


vc nao pode dizer o q este metodo ira fazer. Ele pode tanto emitir a 
mensagem q nao esta implementado, como pintar um circulo ou ainda pintar um 
circulo e preenche-lo. Esta eh a beleza do polimorfismo. O metodo da classe 
q vc realmente retornou do geraFormaAleatoria() e q vai ser chamado. Baixe o

Thinking In Java (em ingles) do site do Bruce (www.bruceeckel.com).

Michael Nascimento Santos
Analista/Consultor
CPM Sistemas - www.cpm.com.br

From: Alexandre Rodrigues Gomes [EMAIL PROTECTED]
Reply-To: [EMAIL PROTECTED]
To: "'[EMAIL PROTECTED]'" [EMAIL PROTECTED]
Subject: RES: [java-list] Polimorfismo
Date: Wed, 7 Mar 2001 18:01:20 -0300

Andr, por poliformismo podemos que concluir que seja algo com muitas
formas, certo ?
Este algo de que estamos falando so os mtodos, ou seja, polimorfismo  a
propriedade para que um mtodo assuma vrias formas.
Por exemplo, considere um mtodo que faa um pesquisa por um cliente numa
base de dados qualquer. Suponha que eu tenha a possibilidade de fazer a
pesquisa do cliente pelo seu nome ou por seu CPF. Desta forma, teramos a
necessidade de criar dois mtodos distindos:

findClientByName(String name) e
findClientByCPF(long cpf)

Com o polimorfismo, isto no  necessrio, o que torna sua soluo mais
transparente e elegante:

findClient(String name) e
findClient(long cpf)

suponha tambm que desejamos criar um mtodo para pesquisa que faa a
interseo entre idade e naturalidade. Logo, construiramos um mtodo com a
seguinte assinatura:

findClient(Date idade, String natural)

e todos estes mtodos poderiam conviver numa mesma classe, sem problemas.

By Al!


-Mensagem original-
De: Yurion "Andr [mailto:[EMAIL PROTECTED]]
Enviada em: quarta-feira, 7 de maro de 2001 14:44
Para: [EMAIL PROTECTED]
Assunto: [java-list] Polimorfismo


Caros amigos,

Estou estudando POO e estou com algumas dvidas sobre
polimorfismo.
A nica coisa que sei sobre o assunto  que
est propriedade da OO permite que uma classe tenha
vrios mtodos com o mesmo nome desde de que o mmero
e o tipo de parmetros seja diferentes.
Todo mundo fala que polimorfismo  s isso!!
Porm queria que se possvel vcs me mostrassem
exemplos de onde e quando utilizar est propriedade e
o que significa realmente polimorfismo..
Desde j agradeo a ateno de todos,

Andr Yurion

__
Do You Yahoo!?
Get email at your own domain with Yahoo! Mail.
http://personal.mail.yahoo.com/

-- LISTA SOUJAVA 
http://www.soujava.org.br  -  Sociedade de Usurios Java da Sucesu-SP
dvidas 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 Usurios Java da Sucesu-SP
dvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista

Re: RES: [java-list] Polimorfismo

2001-03-08 Por tôpico Sven van ´t Veer

Cuidado !!!

Method Overloading NO  polimorfism!!

sven

Alexandre Rodrigues Gomes wrote:

 Andr, por poliformismo podemos que concluir que seja algo com muitas
 formas, certo ? 
 Este algo de que estamos falando so os mtodos, ou seja, polimorfismo  a
 propriedade para que um mtodo assuma vrias formas.
 Por exemplo, considere um mtodo que faa um pesquisa por um cliente numa
 base de dados qualquer. Suponha que eu tenha a possibilidade de fazer a
 pesquisa do cliente pelo seu nome ou por seu CPF. Desta forma, teramos a
 necessidade de criar dois mtodos distindos:
 
 findClientByName(String name) e 
 findClientByCPF(long cpf)
 
 Com o polimorfismo, isto no  necessrio, o que torna sua soluo mais
 transparente e elegante:
 
 findClient(String name) e 
 findClient(long cpf)
 
 suponha tambm que desejamos criar um mtodo para pesquisa que faa a
 interseo entre idade e naturalidade. Logo, construiramos um mtodo com a
 seguinte assinatura:
 
 findClient(Date idade, String natural)
 
 e todos estes mtodos poderiam conviver numa mesma classe, sem problemas.
 
 By Al!
 
 
 -Mensagem original-
 De: Yurion "Andr [mailto:[EMAIL PROTECTED]]
 Enviada em: quarta-feira, 7 de maro de 2001 14:44
 Para: [EMAIL PROTECTED]
 Assunto: [java-list] Polimorfismo
 
 
 Caros amigos,
 
 Estou estudando POO e estou com algumas dvidas sobre
 polimorfismo.
 A nica coisa que sei sobre o assunto  que 
 est propriedade da OO permite que uma classe tenha
 vrios mtodos com o mesmo nome desde de que o mmero
 e o tipo de parmetros seja diferentes.
 Todo mundo fala que polimorfismo  s isso!!
 Porm queria que se possvel vcs me mostrassem
 exemplos de onde e quando utilizar est propriedade e
 o que significa realmente polimorfismo..
 Desde j agradeo a ateno de todos,
 
 Andr Yurion
 
 __
 Do You Yahoo!?
 Get email at your own domain with Yahoo! Mail. 
 http://personal.mail.yahoo.com/
 
 -- LISTA SOUJAVA  
 http://www.soujava.org.br  -  Sociedade de Usurios Java da Sucesu-SP 
 dvidas 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 Usurios Java da Sucesu-SP 
 dvidas 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 Usurios Java da Sucesu-SP 
dvidas 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] 
-




Re: RES: [java-list] Polimorfismo

2001-03-08 Por tôpico Daniel A. Melo

Algums autores consideram como polimorfismo paramtrico.

[]s

Daniel A.

Sven van t Veer wrote:

 Cuidado !!!

 Method Overloading NO  polimorfism!!

 sven

 Alexandre Rodrigues Gomes wrote:

  Andr, por poliformismo podemos que concluir que seja algo com muitas
  formas, certo ?
  Este algo de que estamos falando so os mtodos, ou seja, polimorfismo  a
  propriedade para que um mtodo assuma vrias formas.
  Por exemplo, considere um mtodo que faa um pesquisa por um cliente numa
  base de dados qualquer. Suponha que eu tenha a possibilidade de fazer a
  pesquisa do cliente pelo seu nome ou por seu CPF. Desta forma, teramos a
  necessidade de criar dois mtodos distindos:
 
  findClientByName(String name) e
  findClientByCPF(long cpf)
 
  Com o polimorfismo, isto no  necessrio, o que torna sua soluo mais
  transparente e elegante:
 
  findClient(String name) e
  findClient(long cpf)
 
  suponha tambm que desejamos criar um mtodo para pesquisa que faa a
  interseo entre idade e naturalidade. Logo, construiramos um mtodo com a
  seguinte assinatura:
 
  findClient(Date idade, String natural)
 
  e todos estes mtodos poderiam conviver numa mesma classe, sem problemas.
 
  By Al!
 
 
  -Mensagem original-
  De: Yurion "Andr [mailto:[EMAIL PROTECTED]]
  Enviada em: quarta-feira, 7 de maro de 2001 14:44
  Para: [EMAIL PROTECTED]
  Assunto: [java-list] Polimorfismo
 
 
  Caros amigos,
 
  Estou estudando POO e estou com algumas dvidas sobre
  polimorfismo.
  A nica coisa que sei sobre o assunto  que
  est propriedade da OO permite que uma classe tenha
  vrios mtodos com o mesmo nome desde de que o mmero
  e o tipo de parmetros seja diferentes.
  Todo mundo fala que polimorfismo  s isso!!
  Porm queria que se possvel vcs me mostrassem
  exemplos de onde e quando utilizar est propriedade e
  o que significa realmente polimorfismo..
  Desde j agradeo a ateno de todos,
 
  Andr Yurion
 
  __
  Do You Yahoo!?
  Get email at your own domain with Yahoo! Mail.
  http://personal.mail.yahoo.com/
 
  -- LISTA SOUJAVA 
  http://www.soujava.org.br  -  Sociedade de Usurios Java da Sucesu-SP
  dvidas 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 Usurios Java da Sucesu-SP
  dvidas 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 Usurios Java da Sucesu-SP
 dvidas 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 Usurios Java da Sucesu-SP 
dvidas 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] 
-




Re: RES: [java-list] Polimorfismo

2001-03-08 Por tôpico Aristides Tavares dos Santos

Apenas uma correo matemtica, o crculo que vc menciona quer dizer na
verdade circuferncia, e crculo preenchido  redundante, basta dizer
crculo.
Abraos
Aristides
- Original Message -
From: "Mister M" [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Thursday, March 08, 2001 8:17 AM
Subject: Re: RES: [java-list] Polimorfismo


 Na verdade, polimorfismo eh o q o Sven explicou no e-mail anterior, ou
seja,
 estah relacionado com o Dynamic Binding. Isso que estah explicado no
e-mail
 do Alexandre (embora eu jah tenha visto milhares de vezes erradamente, o q
 significa q algum livro deve ter dito isso) eh o overloading, ou seja, qdo
 um metodo tem diversas formas de ser chamado por causa da lista de
 parametros e, por isso, pode tomar n acoes diferentes.
 Vou usar o exemplo classico do livro do Bruce Eckel, Thinking in Java:

 Imagine q vc tenha uma classe FormaGeometrica + ou - assim

 class FormaGeometrica {
public void desenha() {
   System.out.println("Nao implementado...");
}
 ...
 ...
 }

 Agora imagine uma subclasse assim:

 class Circulo extends FormaGeometrica {
public void desenha() {
   // codigo para desenhar circulo...
}
 ...
 ...
 }

 E outra assim:

 class CirculoPreenchido extends Circulo {
public void desenha() {
   super.desenha();
   // codigo para preencher circulo...
}
 ...
 ...
 }


 Qdo vc faz:

 FormaGeometrica forma = FabricaDeFormas.geraFormaAleatoria();

 imagine que o metodo retorna qualquer forma geometrica registrada no
sistema
 (Circulo, CirculoPreenchido, FormaGeometrica e outras subclasses). Se este
 metodo foi declarado como :

 class FabricaDeFormas {
public static FormaGeometrica geraFormaAleatoria() {
   file://codigo pra gerar forma aleatoria
}
 }

 ele pode retornar Circulo, por exemplo, q como "extends" FormaGeometrica
EH
 uma FormaGeometrica.
 Voltando a linha do exemplo:


 FormaGeometrica forma = FabricaDeFormas.geraFormaAleatoria();
 forma.desenha();


 vc nao pode dizer o q este metodo ira fazer. Ele pode tanto emitir a
 mensagem q nao esta implementado, como pintar um circulo ou ainda pintar
um
 circulo e preenche-lo. Esta eh a beleza do polimorfismo. O metodo da
classe
 q vc realmente retornou do geraFormaAleatoria() e q vai ser chamado. Baixe
o
 Thinking In Java (em ingles) do site do Bruce (www.bruceeckel.com).

 Michael Nascimento Santos
 Analista/Consultor
 CPM Sistemas - www.cpm.com.br

 From: Alexandre Rodrigues Gomes [EMAIL PROTECTED]
 Reply-To: [EMAIL PROTECTED]
 To: "'[EMAIL PROTECTED]'" [EMAIL PROTECTED]
 Subject: RES: [java-list] Polimorfismo
 Date: Wed, 7 Mar 2001 18:01:20 -0300
 
 Andr, por poliformismo podemos que concluir que seja algo com muitas
 formas, certo ?
 Este algo de que estamos falando so os mtodos, ou seja, polimorfismo 
a
 propriedade para que um mtodo assuma vrias formas.
 Por exemplo, considere um mtodo que faa um pesquisa por um cliente numa
 base de dados qualquer. Suponha que eu tenha a possibilidade de fazer a
 pesquisa do cliente pelo seu nome ou por seu CPF. Desta forma, teramos a
 necessidade de criar dois mtodos distindos:
 
 findClientByName(String name) e
 findClientByCPF(long cpf)
 
 Com o polimorfismo, isto no  necessrio, o que torna sua soluo mais
 transparente e elegante:
 
 findClient(String name) e
 findClient(long cpf)
 
 suponha tambm que desejamos criar um mtodo para pesquisa que faa a
 interseo entre idade e naturalidade. Logo, construiramos um mtodo com
a
 seguinte assinatura:
 
 findClient(Date idade, String natural)
 
 e todos estes mtodos poderiam conviver numa mesma classe, sem problemas.
 
 By Al!
 
 
 -Mensagem original-
 De: Yurion "Andr [mailto:[EMAIL PROTECTED]]
 Enviada em: quarta-feira, 7 de maro de 2001 14:44
 Para: [EMAIL PROTECTED]
 Assunto: [java-list] Polimorfismo
 
 
 Caros amigos,
 
 Estou estudando POO e estou com algumas dvidas sobre
 polimorfismo.
 A nica coisa que sei sobre o assunto  que
 est propriedade da OO permite que uma classe tenha
 vrios mtodos com o mesmo nome desde de que o mmero
 e o tipo de parmetros seja diferentes.
 Todo mundo fala que polimorfismo  s isso!!
 Porm queria que se possvel vcs me mostrassem
 exemplos de onde e quando utilizar est propriedade e
 o que significa realmente polimorfismo..
 Desde j agradeo a ateno de todos,
 
 Andr Yurion
 
 __
 Do You Yahoo!?
 Get email at your own domain with Yahoo! Mail.
 http://personal.mail.yahoo.com/
 
 -- LISTA SOUJAVA 
 http://www.soujava.org.br  -  Sociedade de Usurios Java da Sucesu-SP
 dvidas 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.o

[java-list] Polimorfismo

2001-03-07 Por tôpico André

Caros amigos,

Estou estudando POO e estou com algumas dúvidas sobre
polimorfismo.
A única coisa que sei sobre o assunto é que 
está propriedade da OO permite que uma classe tenha
vários métodos com o mesmo nome desde de que o múmero
e o tipo de parâmetros seja diferentes.
Todo mundo fala que polimorfismo é só isso!!
Porém queria que se possível vc´s me mostrassem
exemplos de onde e quando utilizar está propriedade e
o que significa realmente polimorfismo..
Desde já agradeço a atenção de todos,

André Yurion

__
Do You Yahoo!?
Get email at your own domain with Yahoo! Mail. 
http://personal.mail.yahoo.com/

-- 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] 
-




RES: [java-list] Polimorfismo

2001-03-07 Por tôpico Sergio Stateri Jr

Veja um exemplo de mtodos que retornam arrays de objetos de clientes :

// Get All Customers
public Customer[] getCustomers()  {}

// Get All Customers that birthday is between data1 and data2
public Customer[] getCustomers(Date data1, Date data2)  {}

// Get All Customers that customerId in in the parameter array
public Customer[] getCustomers(int[] customerIds)  {}



Perceba que o nome do mtodo  o mesmo, mas os parmetros variam para
suprir todas as necessidades de pesquisa.

[]s,


Sergio Stateri Jr
[EMAIL PROTECTED]
Tesla Tecnologia

-Mensagem original-
De: Yurion Andr [mailto:[EMAIL PROTECTED]]
Enviada em: Quarta-feira, 7 de Maro de 2001 14:44
Para: [EMAIL PROTECTED]
Assunto: [java-list] Polimorfismo


Caros amigos,

Estou estudando POO e estou com algumas dvidas sobre
polimorfismo.
A nica coisa que sei sobre o assunto  que
est propriedade da OO permite que uma classe tenha
vrios mtodos com o mesmo nome desde de que o mmero
e o tipo de parmetros seja diferentes.
Todo mundo fala que polimorfismo  s isso!!
Porm queria que se possvel vcs me mostrassem
exemplos de onde e quando utilizar est propriedade e
o que significa realmente polimorfismo..
Desde j agradeo a ateno de todos,

Andr Yurion

__
Do You Yahoo!?
Get email at your own domain with Yahoo! Mail.
http://personal.mail.yahoo.com/

-- LISTA SOUJAVA 
http://www.soujava.org.br  -  Sociedade de Usurios Java da Sucesu-SP
dvidas 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 Usurios Java da Sucesu-SP 
dvidas 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] 
-




Re: [java-list] Polimorfismo

2001-03-07 Por tôpico Sven van ´t Veer

Polimorphism indica a abilidade de uma referencia a uma superclasse a 
conter uma referencia a ele ou todos os subclasses dele

poli = muito (varias)
morpf = formas de apresentao

imagine :
class animal extends object{
   public boolean equals(Object o){

   }
}

class bird extends animal{
   public boolean equals(Object o){

   }
}

class arara extends bird{
   public boolean equals(Object o){

   }
}

class foo{
   object o;
   animal a;

   o = new animal();
   a = new arara();

   o = a;
   o.equals(a);  // true pois por Dynamic Method Binding seria 
((animal)o).equals(a);

   a = new bird();

   o.equals(a); // false pois o  instancia de animal enquanto a 
agora e instancia de bird
}

O fato que uma classe pode conter varias methodos com mesmo nome mas 
signature diferente  method overloading e no tem muito a ver vom OO.

Para saber mais procura ler um livro sobre OO.

sven

Yurion Andr wrote:

 Caros amigos,
 
 Estou estudando POO e estou com algumas dvidas sobre
 polimorfismo.
 A nica coisa que sei sobre o assunto  que 
 est propriedade da OO permite que uma classe tenha
 vrios mtodos com o mesmo nome desde de que o mmero
 e o tipo de parmetros seja diferentes.
 Todo mundo fala que polimorfismo  s isso!!
 Porm queria que se possvel vcs me mostrassem
 exemplos de onde e quando utilizar est propriedade e
 o que significa realmente polimorfismo..
 Desde j agradeo a ateno de todos,
 
 Andr Yurion
 
 __
 Do You Yahoo!?
 Get email at your own domain with Yahoo! Mail. 
 http://personal.mail.yahoo.com/
 
 -- LISTA SOUJAVA  
 http://www.soujava.org.br  -  Sociedade de Usurios Java da Sucesu-SP 
 dvidas 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 Usurios Java da Sucesu-SP 
dvidas 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] 
-




RES: [java-list] Polimorfismo

2001-03-07 Por tôpico Alexandre Rodrigues Gomes

Andr, por poliformismo podemos que concluir que seja algo com muitas
formas, certo ? 
Este algo de que estamos falando so os mtodos, ou seja, polimorfismo  a
propriedade para que um mtodo assuma vrias formas.
Por exemplo, considere um mtodo que faa um pesquisa por um cliente numa
base de dados qualquer. Suponha que eu tenha a possibilidade de fazer a
pesquisa do cliente pelo seu nome ou por seu CPF. Desta forma, teramos a
necessidade de criar dois mtodos distindos:

findClientByName(String name) e 
findClientByCPF(long cpf)

Com o polimorfismo, isto no  necessrio, o que torna sua soluo mais
transparente e elegante:

findClient(String name) e 
findClient(long cpf)

suponha tambm que desejamos criar um mtodo para pesquisa que faa a
interseo entre idade e naturalidade. Logo, construiramos um mtodo com a
seguinte assinatura:

findClient(Date idade, String natural)

e todos estes mtodos poderiam conviver numa mesma classe, sem problemas.

By Al!


-Mensagem original-
De: Yurion "Andr [mailto:[EMAIL PROTECTED]]
Enviada em: quarta-feira, 7 de maro de 2001 14:44
Para: [EMAIL PROTECTED]
Assunto: [java-list] Polimorfismo


Caros amigos,

Estou estudando POO e estou com algumas dvidas sobre
polimorfismo.
A nica coisa que sei sobre o assunto  que 
est propriedade da OO permite que uma classe tenha
vrios mtodos com o mesmo nome desde de que o mmero
e o tipo de parmetros seja diferentes.
Todo mundo fala que polimorfismo  s isso!!
Porm queria que se possvel vcs me mostrassem
exemplos de onde e quando utilizar est propriedade e
o que significa realmente polimorfismo..
Desde j agradeo a ateno de todos,

Andr Yurion

__
Do You Yahoo!?
Get email at your own domain with Yahoo! Mail. 
http://personal.mail.yahoo.com/

-- LISTA SOUJAVA  
http://www.soujava.org.br  -  Sociedade de Usurios Java da Sucesu-SP 
dvidas 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 Usurios Java da Sucesu-SP
dvidas 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]
-