Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Uso do this

Tenho uma dúvida quando se faz o método get.

O correto não seria usar o this quando quero fazer o retorno?

public String getNome() {
        return this.nome;    
    }
public String getNome() {
        return nome;   
    }
1 resposta
solução!

Fala Daniel, tudo certo?

A palavra reservada this faz menção ao objeto em questão e é uma boa prática utilizá-la ao referenciar-se ao próprio objeto, como por exemplo quando estamos nos referenciando aos seus atributos dentro de seus métodos, como no caso de Getters e Setters.

No entanto, seu uso é opcional, não sendo obrigatório o uso da referência this quando não há conflito de nomes de variáveis. Como assim?

Dentro do exemplo dado:

public String getNome() {
        return nome;   
}

Onde não fazemos o uso do this, o que acontece é o seguinte: o Java procura por referências com esse nome de variável, e não encontra conflitos, pois há apenas uma variável chamada nome, que é seu atributo! Como há apenas o atributo, ele já sabe do que se trata e usa o valor correto! Em geral, dentro de métodos Getters, dificilmente vai haver algum conflito de nomes e o this é opcional, ainda assim é recomendável o seu uso, para facilitar a leitura do código!

Vamos ver um caso onde há conflito agora:

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

Dentro de um método setNome(), onde recebemos uma String nome como parâmetro. Só de olhar já percebemos que temos uma variável local, no parâmetro, com o mesmo nome do atributo da classe, isso é o conflito de nomes. Nesse caso precisamos usar a referência this, senão o Java vai entender que estamos nos referenciando à variável local nome, e o método não vai ter o comportamento desejado.

É importante lembrar, também, que esse conflito só ocorre porque a variável local tem o mesmo nome do atributo, no caso de ser um nome diferente da variável local:

public String setNome(String nomeDiferente) {
        nome = nomeDiferente;   
}

Também vira opcional o uso do this, pois não haverá conflitos! Ainda assim, reforço, é uma boa prática utilizar o this sempre que for cabível, pois facilita a leitura e manutenção do código.

Em caso de dúvidas, estou à disposição!

Um grande abraço e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software