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?
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