30.06.2013 Views

Apostila Java

Apostila Java

Apostila Java

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

ABSTRAÇÃO DE DADOS<br />

}<br />

}<br />

valor += 10;<br />

A referência this<br />

Note nos exemplos anteriores que sempre usamos o operador ponto (.) para acessar os membros de<br />

uma classe. Exemplo:<br />

// Cria uma instância da classe Avaliação e uma referência a esse objeto<br />

Avaliacao avaliacaoDoJoao = new Avaliacao();<br />

avaliacaoDoJoao.atualizarNotaDeTrabalho(0, 8.5F); // trabalho 1<br />

Mas note também que dentro da classe Avaliacao, os membros são manipulados sem estarem<br />

associados a um objeto:<br />

public void atualizarNotaDeTrabalho(int numeroDoTrabalho, float nota)<br />

{<br />

// Note que a variável trabalhos não está sendo<br />

// associada a nenhum objeto<br />

trabalhos[numeroDoTrabalho] = nota;<br />

}<br />

Isso é possível porque em <strong>Java</strong>, os membros de uma classe possuem, dentro da classe, uma referência<br />

implícita identificada pela palavra reservada this:<br />

public void atualizarNotaDeTrabalho(int numeroDoTrabalho, float nota)<br />

{<br />

// Referência ao objeto corrente<br />

this.trabalhos[numeroDoTrabalho] = nota;<br />

}<br />

Essa referência, na verdade, está associando o membro a um objeto do tipo da classe em que o método<br />

se encontra. Em <strong>Java</strong> não é necessário que se use a referência this pois, caso uma referência não seja<br />

digitada, a referência this será assumida pelo interpretador <strong>Java</strong> (JVM).<br />

Além disso, a referência this pode ser usada como argumento para representar o objeto corrente na<br />

chamada de um método:<br />

/**<br />

* Classe que modela o processo de avaliação dos alunos da disciplina<br />

*/<br />

public class Avaliacao<br />

{<br />

public float[] trabalhos = new float[4]; // quatro trabalhos<br />

public float[] provas = new float[2]; // duas provas<br />

48

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!