Soh um pequeno parenteses, no "foreach" do Peter :
for (Pessoa pessoa : pessoas) {
syso(aluno);
}
ali na segunda linha, nao eh syso(aluno); eh syso(pessoa);
;)
soh isso msm...
2009/4/5 Peter P. Lupo <[email protected]>
> 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().
>>
>>
>
> >
>
--
Jade Moreira da Costra
Diretoria de Projetos
EJCM – Empresa Júnior de Consultoria em Microinformática Departamento de
Ciência da Computação – UFRJ
www.ejcm.com.br - (21) 2598-9440
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---