[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico]
[Índice de assunto]
Re: Ep, bem que poderia ser pra quinta
- Subject: Re: Ep, bem que poderia ser pra quinta
- From: Adriano Lopes Pereira <apereira@linux.ime.usp.br>
- Date: Sun, 25 Apr 1999 19:43:26 -0300 (EST)
Concordo com meus colegas, pois meu EP está um pouco atrasado....
-------------------------------------------------
Adriano Lopes Pereira <apereira@linux.ime.usp.br>
DCC - Departamento de Ciência da Computação
IME - Instituto de Matemática e Estatística
USP - Universidade de São Paulo - BRASIL
-------------------------------------------------
On Sun, 25 Apr 1999, Joao Carlos Matsuzaka Costa wrote:
> concordo com o Paulo acho uqe esses dois dias iam fazer uma boa diferenca
> no EP e na prova
>
>
> Message from JC <jcosta@linux.ime.usp.br>
>
> On Sun, 25 Apr 1999, Paulo Eduardo Azevedo Silveira wrote:
>
> > Oi professor
> > Estou aqui eu e meus colegas na sala linux do ime e queriamos saber se nao
> > dava pra dar uma empurrada no ep, pq quarta a gente tem prova de 323.
> > E ai?
> > Paulo e classe
> >
> > -------------------------------------
> > Message from:
> > Paulo Eduardo Azevedo Silveira
> > Undergraduating in Computer Science
> > University of Sao Paulo - IME
> > http://www.linux.ime.usp.br/~peas
> > -------------------------------------
> >
> > On Sun, 25 Apr 1999, Francisco Reverbel wrote:
> >
> > > Daniel Cukier writes:
> > > > Porque o meu ep dá varios erros com a mensagem:
> > > >
> > > > cant make a static reference to a nonstatic (method ou variable) in
> > > > class...
> > >
> > > Porque metodos de classe (static) só podem referenciar campos que forem
> > > de classe (static) ou campos de instância (não static) de objetos
> > > particulares.
> > >
> > > > eu tentei solucionar esses erros colocando static em tudo quanto é
> > > > lugar, mas sei que isso nao é o mais correto.
> > >
> > > Não faça isso! O static significa que o método ou o campo não é de um
> > > objeto particular, mas da classe toda. Um campos que forem de um objeto
> > > particular -- o fileName de um DBFile, por exemplo -- não pode ter
> > > static. Senão você vai guardar um fileName só para todos os DBFiles, o
> > > que está completamente errado!
> > >
> > > > Qual seria a solucao então?
> > > >
> > > > Um exemplo real:
> > > > o método create da classe DBFile é static
> > > >
> > > > dentro desse método, eu desejo inserir a linha
> > > >
> > > > DBFile.fileName = fileName;
> > > > DBFile.numberOfBlock = nBlks;
> > > > .
> > > > .
> > > > .
> > > > isso está certo??
> > >
> > > Não está. Tente algo como
> > >
> > > DBFile dbf = new DBFile();
> > > dbf.fileName = fileName;
> > > dbf.numberOfBlock = nBlks;
> > >
> > > Note que agora o método de classe não está referenciando DBFile.fileName
> > > (que não faz sentido, pois não existe um fileName para a classe toda) e
> > > sim o dbf.fileName (o campo fileName de um particular objeto).
> > >
> > > Mudando um pouco de assunto: Em vez de chamar um construtor e logo em
> > > seguida inicializar campos do objeto recém construido, é melhor colocar
> > > a inicialização desses campos dentro do construtor. Em vez das tres
> > > linhas acima, você teria uma linha só:
> > >
> > > DBFile dbf = new DBFile(fileName, nBlks);
> > >
> > > Reverbel
> > >
> >
> >
>
>