E não é syso, é System.out.println. Não deixa explicitado assim pq tem q apertar o ctrl + espaço depois do syso. Senão vcs vão receber um monte de listas com "syso(pessoa)" literalmente :) [s] ttc
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 -~----------~----~----~----~------~----~------~--~---
