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