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