This

6 respostas
C

se alguém puder me ajudar gostaria de saber um pouco mais sobre o uso do this no código

6 Respostas

C

o this se refere à uma instância da classe em questão (corrigido). então, por exemplo, vamos supor que vc tem o atributo String nome e quer fazer um setNome.
então vc poderia fazer o seguinte:

public class Usuario
{
   private String nome;

   public void setNome(String nome)
   {
      this.nome = nome;
   }
}

Dessa maneira, você está dizendo ao compilador:
“Hey, compilador, eu sei que eu já tenho uma variável nome. mas veja bem, uma é local (do método setNome) e a outra é o atributo da minha classe (this.nome), tá?”

Além disso, quando você faz uma chamada de um método da sua classe nela mesma, tipo, um método validaDados() o compilador assume que ele é da mesma classe. entao a chamada validaDados(); é a mesma coisa que this.validaDados(); embora não seja recomendável (corrigido)

faz um teste ai…

[]s
chambs

hmichel

Cara, isto não está certo. this refere-se a uma INSTÂNCIA da classe em questão.
Desta forma, você tem acesso a qualquer propriedade (variáveis, constantes etc) e método de instancia e classe. As propiedades e métodos de classe não são ecomendados acessar por THIS, apenas por motivo lógico, já que THIS refere-se a instância propriamente dita, acessar um conteúdo de classe não faz sentido (não que não funcione).

[]'s

C

é verdade!!! vc tem toda razão!!!

grande abraço,
chambs

Rafael_Steil

chambs, mas ha uma diferenca enorme entre classe e instancia nesse ponto. Foi bom o michel ter questionado!

Mas sem stress :wink:

Rafael

C

ah sim! quanto a isso, não há o que falar.
valeu pela correção!

Luca

Olá

Chambs, não se trata apenas de contestar. É preciso cuidado com o uso errado dos termos porque senão o cara que está iniciando não sedimentará seus conceitos.

Para você ver como é perigoso misturar os conceitos de classe com objeto veja a pergunta que foi feita em um teste de admissão em uma empresa de SP:

Qual o método que se usa para converter uma classe para uma string?

(O idiota que escreveu isto esperava um candidato mais idiota ainda)

Guardo esta pérola comigo há uns 2 anos e aqui mesmo no GUJ o amigo Flin sabe qual foi a empresa que escreveu esta pergunta imbecil.

[]s
Luca

Criado 18 de janeiro de 2005
Ultima resposta 18 de jan. de 2005
Respostas 6
Participantes 5