Estou com um pouco de duvida sobre quando usar this ou não. O uso do this direciona para um atributo específico? E por que não se usa em certas situações?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Estou com um pouco de duvida sobre quando usar this ou não. O uso do this direciona para um atributo específico? E por que não se usa em certas situações?
Oi Letícia! Tudo bem?
A melhor maneira de aprender o uso do this está relacionado com escopo de atributos e variáveis.
1) Os atributos de uma classe são definidos após a construção do mesmo.
Ex.
public Class Pessoa {
private String nome;
private Date nascimento;
private Genero genero;
/* ... getters e setters omitidos ... */
}2) Variáveis são definidas como parâmetros de métodos ou dentro do escopo de um método.
Ex.
public Class Pessoa {
private String nome;
private Date nascimento;
private Genero genero;
public void setNome(String nome){
this.nome =nome.
}
}Agora penso que fica mais fácil entender o uso.
1) Existe o nome que é uma variável dentro do método setNome
2) Dentro do método, se você fizer nome = "Leticia" estará alterando o valor da variável e não atributo, assim sendo, quando o método for executado, o atributo permanecerá com o valor anterior.
3) Para dizer que o que queremos alterar é o atributo e não a variável, usamos o this.
Espero ter ajudado,
Abraço e sucesso,
Rodrigo