[java-list] Duvida: Coercao de objetos

2001-03-12 Por tôpico paulo henrique castro

Caros,

estou estudando Java a pouco tempo (Aprenda Java em 21 dias)
e no capitulo 4 o livro aborda a coercao de objetos, ou seja, converter um
valor de um tipo para outro.
No livro diz que essa operacao so' pode ser feita com objetos que
possuem relacionamento por heranca. Por exemplo: se eu passar um objeto
Frame para uma variavel do tipo Window, essa conversao seria automatica e eu
nao perderia informacao alguma.

Minha duvida: a classe Frame, por ser uma subclasse de Window, alem
de ter todos os metodos e variaveis definidos por sua superclasse, ela
ainda tem seus proprios metodos e variaveis.
Entao por que na pratica esses valores "extras" de Frame nao sao
perdidos???
Teoricamente eles nao teriam onde ser armazenados na classe Window...

Alguem poderia me ajudar?!

Valeu!

[]s

PH

___
Paulo Henrique L. de Castro   [EMAIL PROTECTED]
  (11) 3038-8039
Radio Antena 1 http://www.antena1.com.br


-- 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] Duvida: Coercao de objetos

2001-03-12 Por tôpico Jorge Eduardo Costa Soares

Taí uma das idéias de herança, onde você além de utilizar todos os métodos e 
variáveis da superclasse, você pode acrescentar outros métodos e variáveis. 
Você só não poderá tirar métodos ou variáveis da superclasse, mas 
acrescentar tudo bem.


From: paulo henrique castro [EMAIL PROTECTED]
Reply-To: [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Subject: [java-list] Duvida: Coercao de objetos
Date: Mon, 12 Mar 2001 13:20:16 -0300

Caros,

   estou estudando Java a pouco tempo (Aprenda Java em 21 dias)
e no capitulo 4 o livro aborda a coercao de objetos, ou seja, converter um
valor de um tipo para outro.
   No livro diz que essa operacao so' pode ser feita com objetos que
possuem relacionamento por heranca. Por exemplo: se eu passar um objeto
Frame para uma variavel do tipo Window, essa conversao seria automatica e 
eu
nao perderia informacao alguma.

   Minha duvida: a classe Frame, por ser uma subclasse de Window, alem
de ter todos os metodos e variaveis definidos por sua superclasse, ela
ainda tem seus proprios metodos e variaveis.
   Entao por que na pratica esses valores "extras" de Frame nao sao
perdidos???
   Teoricamente eles nao teriam onde ser armazenados na classe Window...

   Alguem poderia me ajudar?!

   Valeu!

   []s

   PH

___
Paulo Henrique L. de Castro   [EMAIL PROTECTED]
 (11) 3038-8039
Radio Antena 1http://www.antena1.com.br


-- 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 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] Duvida: Coercao de objetos

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

 Frame para uma variavel do tipo Window, essa conversao seria 
 automatica e eu
 nao perderia informacao alguma.
 
 Minha duvida: a classe Frame, por ser uma subclasse de Window, alem
 de ter todos os metodos e variaveis definidos por sua superclasse, ela
 ainda tem seus proprios metodos e variaveis. 

No. Aparentemente seria assim. Infelizmente  impossivel aprender tudo 
de Java e OO.

Em OO falamos muito de POLIMORFISO, que  definido assim:
Polimorfism is the ability of a superclass reference to denote objects 
of its own class and its subclasses at runtime.

Porm:

class Window extends object{
}

class Frame extends Window{
}

Object o = new Frame();

agora a referencia o refere se ao Frame e portanto pode usar todos os 
methodos do Frame.

Isso  at igual para interfaces. Imagina o seguinte:

interface Foo{
public foo getFoo();
}

class Bar implements Foo{

   public foo getFoo(){
   return (foo)this;
   }
}

 completamente legal pois Bar implementa Foo e uma referencia do tipo 
Foo pode se referir  um objecto da classe Bar j que ela implementa a 
interface Foo.

 
 Entao por que na pratica esses valores "extras" de Frame nao sao
 perdidos???
 Teoricamente eles nao teriam onde ser armazenados na classe Window...
 
 Alguem poderia me ajudar?!
 
 Valeu!
 
 []s
 
 PH
 
 ___
 Paulo Henrique L. de Castro   [EMAIL PROTECTED]
   (11) 3038-8039
 Radio Antena 1   http://www.antena1.com.br
 
 
 -- 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] Duvida: Coercao de objetos

2001-03-12 Por tôpico Rafael Alves Chaves

Paulo Henrique, 

O casting se da' em termos das referencias aos objetos. Ou seja, em:

Window w = new Frame ();

E' criado um objeto da classe Frame, mas a referencia a este objeto e' 
armazenada em uma variavel do tipo Window. Isso nao quer dizer que o Frame 
tenha sido convertido em uma Window, apenas a variavel de acesso ao objeto
e' 
do tipo Window, o que ira' restringir as operacoes validas 'aquelas
definidas 
em Window. A classe do objeto criado e' Frame, e ponto final.

Posteriormente, se quiseres ter acesso a um recurso especifico de Frame,
tu 
podes fazer o contrario:

Frame f = (Frame) w;

E a partir dai' utilizar as operacoes de Frame. 

Tenha em mente que variaveis de tipo referencia (todos exceto primitivos)
nao 
contem os objetos, apenas os referenciam.

Espero que ajude. Esse assunto e' de suma importancia para que se possa
fazer 
qualquer coisa em Java.

 Rafael

On Mon, 12 Mar 2001, paulo henrique castro wrote:

 Caros,
 
   estou estudando Java a pouco tempo (Aprenda Java em 21 dias)
 e no capitulo 4 o livro aborda a coercao de objetos, ou seja, converter um
 valor de um tipo para outro.
   No livro diz que essa operacao so' pode ser feita com objetos que
 possuem relacionamento por heranca. Por exemplo: se eu passar um objeto
 Frame para uma variavel do tipo Window, essa conversao seria automatica e eu
 nao perderia informacao alguma.
 
   Minha duvida: a classe Frame, por ser uma subclasse de Window, alem
 de ter todos os metodos e variaveis definidos por sua superclasse, ela
 ainda tem seus proprios metodos e variaveis.
   Entao por que na pratica esses valores "extras" de Frame nao sao
 perdidos???
   Teoricamente eles nao teriam onde ser armazenados na classe Window...
 
   Alguem poderia me ajudar?!
 
   Valeu!
 
   []s
 
   PH
 
 ___
 Paulo Henrique L. de Castro   [EMAIL PROTECTED]
 (11) 3038-8039
 Radio Antena 1   http://www.antena1.com.br
 
 
 -- 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]
-