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/