Paulo,

        A "variável " na definição do tipo do objeto seria um um "ponteiro"
para o objeto. Acho que o nome correto é referência para o objeto em vez de
variável. Então a referência apenas "aponta" para um objeto, ela não possui
os métodos e atributos da classe. Quem possui os métodos e os atributos é o
próprio objeto. É possível até que você tenha várias refêrencias para um
mesmo objeto:

  Frame f1 = new Frame("Titulo do frame1");
  Window w1 = f1; // duas referencias apontando para o mesmo objeto

  // aqui funciona
  boolean bShow = f1.isShowing();
  System.out.println(bShow);

  // aqui funciona
  bShow = w1.isShowing();
  System.out.println(bShow);

  // aqui funciona
  String s = f1.getTitle();
  System.out.println(s);

  // aqui nao funciona
  // A execucao do metodo abaixo gera um erro na compilacao, pois
  // a classe Window nao reconhece o metodo getTitle (que esta definido
apenas no Frame)
  // s = w1.getTitle();
  // System.out.println(s);


        Assim os métodos extras da classe Frame não são perdidos, eles
apenas não podem ser acessados por uma refêrencia de Window já que a classe
Window não reconhece estes métodos. O objeto continua lá, com todos os seus
metodos e atributos inclusive o metodo getTitle() só que a classe Window não
pode acessá-lo.
        Pelo que andei lendo estes dias aqui mesmo na lista isto está
intimamente ligado com (ou é) polimorfismo.

        Se falei bobagens, por favor alguém me corrija.

Alexandre

----- Original Message -----
From: "paulo henrique castro" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Monday, March 12, 2001 1:20 PM
Subject: [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
>



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

Responder a