Obrigado Jade.

Eu já tava com a cabeça no outro exemplo...

Nisto q dá escrever demais! hehehe...

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 Jade Costa <[email protected]>

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

Responder a