valeu pela força Rodrigo!!
tô meio perdido nos conceitos ainda!! rsss

vlw mesmo!
[]'s



--- Rodrigo Goulart do Nascimento <[EMAIL PROTECTED]>
escreveu:

> Leonardo,
> 
> você não pode chamar diretamente métodos ou
> construtor de uma subclasse a
> partir de uma superclasse. Imagine, no seu exemplo,
> se você criar uma outra
> subclasse de DadosAluno, por exemplo: DadosPessoais.
> Desta forma, dentro de
> DadosAluno você não teria como saber se a subclasse
> é Notas ou
> DadosPessoais. A forma correta de fazer com que uma
> superclasse acesse algo
> de uma subclasse é o que chamamos de polimorfismo.
> Isso é legal e uma das
> grandes vantagens do uso de herança. Por exemplo:
> 
> public abstract class PoligonoRegular {
>       private int lados;
>       private int tamanhoDoLado;
>       private int x;
>       private int y;
> 
>       protected PoligonoRegular(int lados, int
> tamanhoDoLado, int x, int y) {
>               this.lados = lados;
>               this.tamanhoDoLado = tamanhoDoLado;
>               this.x = x;
>               this.y = y;
>       }
> 
>       public abstract void desenha();
> 
>       public void desenha2() {
>               System.out.println("Desenhando poligono de " +
> lados + " lados.");
>               desenha();
>               System.out.println("Pronto!");
>       }
> }
> 
> Note que defini o método desenha() como abstrato. Aí
> é que se encontra o
> polimorfismo. Se, por acaso, eu resolver criar duas
> classes que extendam
> PoligonoRegular: Triangulo e Quadrado. Só terei que
> implementar o método
> desenha():
> 
> public class Triagulo {
>       public Triagulo(int tamanhoDoLado, int x, int y) {
>               super(3, tamanhoDoLado, x, y);
>       }
> 
>       public void desenha() {
>               // AQUI EU COLOCO O QUE PRECISAR PRA DESENHAR O
> TRIANGULO!
>       }
> }
> 
> public class Quadrado {
>       public Quadrado(int tamanhoDoLado, int x, int y) {
>               super(4, tamanhoDoLado, x, y);
>       }
> 
>       public void desenha() {
>               // AQUI EU COLOCO O QUE PRECISAR PRA DESENHAR O
> QUADRADO!
>       }
> }
> 
> Agora, eu posso trabalhar com o Triangulo e Quadrado
> apenas sabendo que são
> Poligonos. Veja:
> 
> public class Teste {
>       public static void main(String[] args) {
>               PoligonoRegular[] minhasFiguras = new
> PoligonoRegular[] {
>                       new Triangulo(10, 10, 10),
>                       new Quadrado(5,12,20),
>               };
>               for(int i = 0; i < minhasFiguras.length; i++) {
>                       minhasFiguras[i].desenha2();
>               }
>       }
> }
> 
> O método desenha2() pertence a PoligonoRegular e
> está acessando o método que
> está implementado em Triângulo e Quadrado.
> 
> Espero ter esclarecido mais do que complicado ;)
> 
> []'s
> Rodrigo Goulart do Nascimento
> 
> 
> -----Mensagem original-----
> De: [email protected]
> [mailto:[EMAIL PROTECTED] nome de
> .:: LeOnArDo ::.
> Enviada em: sexta-feira, 11 de novembro de 2005
> 13:13
> Para: [email protected]
> Assunto: [JUG-Petro] Chamar método / construtor da
> classe filho
> 
> 
> Bom dia galera!!
> 
> 
> Alguém me dá um help!! ehhe
> --
> 
> Criei uma classe chamada DadosAluno e outra chamada
> Notas.
> 
> Ambas tem seus construtores e métodos para adicionar
> os dados.
> 
> OBS: A Notas está herdando a DadosAluno.
> public class Notas extends DadosAluno
> 
> 
> 
> No main eu fiz o seguinte:
> 
> // Cria um objeto de nome aluno e chama o construtor
> com um parâmetro.
> Notas aluno = new Notas(Quant);
> 
> e dentro desse construtor está sendo chamada um
> método
> da classe DadosAluno (para cadastrar os alunos).
> 
> Dentro da classe DadosAluno tentei chamar o
> construtor
> ou método da classe Notas mas está dando erro.
> 
> A pergunta é: a classe pai não pode chamar um método
> da classe filho ?
> 
> 
> 
> Obrigado!
> Leo
> 
> ---------
> Leonardo Bacha Abrantes
> MSN: [EMAIL PROTECTED]
> Cel.: (24) 8115-8354
>                                  \\!//
>                                  (o o)
>                
> +------------oOO--(.)--OOo------------+
>                 +                                   
>  +
>                 +  A diferença entre vírus e Windows
>  +
>                 +       é que o vírus funciona !    
>  +
>                
> +-------------------------------------+
>                 +           Slackware Linux         
>  +
>                 +            The best one !!        
>  +
>                 +                                   
>  +
>                
> +------------------Oooo---------------+
>                           oooO     (  )
>                           (  )     ) /
>                            \ (    (_/
>                             \_)
> "O verdadeiro valor de um ser humano não está nas
> roupas que veste, sua
> classe social,etc... e sim na sua dignidade,
> lealdade e principalmente seu
> caráter." (Leonardo)
> 
> __________________________________________________
> Faça ligações para outros computadores com o novo
> Yahoo! Messenger
> http://br.beta.messenger.yahoo.com/
> 
> 
> 
> 
> Yahoo! Groups Links
> 
> 
> 
> 
> 
> 
> --
> No virus found in this incoming message.
> Checked by AVG Free Edition.
> Version: 7.1.362 / Virus Database: 267.13.0/167 -
> Release Date: 11/11/2005
> 
> --
> No virus found in this outgoing message.
> Checked by AVG Free Edition.
> Version: 7.1.362 / Virus Database: 267.13.0/167 -
> Release Date: 11/11/2005
> 
> 
> 
> 
> 
> ------------------------ Yahoo! Groups Sponsor
> --------------------~--> 
> Most low income households are not online. Help
> bridge the digital divide today!
>
http://us.click.yahoo.com/cd_AJB/QnQLAA/TtwFAA/5cFolB/TM
>
--------------------------------------------------------------------~->
> 
> 
>  
> Yahoo! Groups Links
> 
> 
>     [EMAIL PROTECTED]
> 
>  
> 
> 
> 
> 


---------
Leonardo Bacha Abrantes
MSN: [EMAIL PROTECTED]
Cel.: (24) 8115-8354
                                 \\!//
                                 (o o)             
                +------------oOO--(.)--OOo------------+
                +                                     +
                +  A diferença entre vírus e Windows  +
                +       é que o vírus funciona !      +
                +-------------------------------------+
                +           Slackware Linux           +
                +            The best one !!          +
                +                                     +
                +------------------Oooo---------------+
                          oooO     (  )
                          (  )     ) /
                           \ (    (_/
                            \_)
"O verdadeiro valor de um ser humano não está nas roupas que veste, sua classe 
social,etc... e sim na sua dignidade, lealdade e principalmente seu caráter." 
(Leonardo)


        



        
                
_______________________________________________________ 
Yahoo! Acesso Grátis: Internet rápida e grátis. 
Instale o discador agora!
http://br.acesso.yahoo.com/





------------------------ Yahoo! Groups Sponsor --------------------~--> 
Fair play? Video games influencing politics. Click and talk back!
http://us.click.yahoo.com/T8sf5C/tzNLAA/TtwFAA/5cFolB/TM
--------------------------------------------------------------------~-> 

 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/jug-petropolis/

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 


Atrašyti