Bom, faz parte da matéria. Não é difícil.

Dar override num método é igual em todo método. O nome do método e os tipos
dos parâmetros têm que ser exatamente os mesmos e vir na mesma ordem. Esta é
a "assinatura do método", é o que o diferencia dos outros. Você não consegue
colocar numa classe dois métodos com estas coisas iguais.

Então é só colocar numa subclasse, outro método com nome e parâmetros
iguais.

O valor de retorno pode ser do mesmo tipo ou de um subtipo. Por exemplo, se
o método original retorna "Pessoa", o que sobrescreve pode retornar "Pessoa"
ou "Aluno" se "Aluno" herda de "Pessoa". Isto se chama de contravariância.
Se alguém quiser entender o conceito mais profundamente é só perguntar.

Isto é assim pq em algum lugar no seu código vc vai chamar este método
esperando receber uma instância de Pessoa. Como todo Aluno se comporta como
uma Pessoa (por causa da herança) os métodos todos de Pessoa estarão em
Aluno e poderão ser chamados sem problemas, como se Aluno fosse instância de
Pessoa (e indiretamente é). Vocês utilizarão mais este tipo de recurso
conforme se aprofundarem na matéria, então não se preocupem com este
parágrafo agora.

Se vc quiser ter certeza que fez certo, na linha imediatamente anteorior ao
novo método toString() escreva "@Override" (sem as aspas). Este é um recurso
chamado "Annotations" que vamos ensinar mais pra frente. Esta anotação faz
com que o compilador verifique se este método realmente sobrescreve algum em
alguma superclasse. Se ele não o fizer, dará um errinho pra te avisar.

O foreach é bem simples. Em Java se chama enhanced for. Ele diz basicamente:
"para cada pessoa na coleção pessoas...":

for (Pessoa pessoa : pessoas) {
    syso(aluno);
}

Explicando:

for (Tipo nomeDaReferencia : colecao) {
    //fazer alguma coisa utilizando "nomeDaReferencia"
}

Outro exemplo:

for (Aluno aluno : turma.getAlunosInscritos()) {
    syso("DRE: " + aluno.getDRE());
}

Qq dúvida, perguntem.

Abraço!

Peter P. Lupo
Undergraduating in Computer Science DCC/UFRJ
MPS.BR Authorized Implementation Practitioner
Sun Certified Java Associate
http://pplupo.googlepages.com/
Cell. +55 (021) 81742487


2009/4/5 lioy <[email protected]>

>
> ok . Mas é que do jeito que eu tinha feito tava certo agora na hora de
> refazer usando esses metodos eu to meio confuso , nunca tinha usado
> foreach  e nem dado override no metodo toString().
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Comp 
2 - Geral" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/comp2-geral?hl=en
-~----------~----~----~----~------~----~------~--~---

Responder a