Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida sobre o this

Acabei descobrindo pelo exercício que o this é opcional. Mas tenho dúvidas a respeito.

1º) O uso do this seria uma boa prática de programação?

2º) Se fosse no caso do método transfere que eu tenho como parâmetro uma outra conta, o this ainda assim seria opcional, eu não precisaria especificar que eu estou me referindo à conta que invocou o método?

2 respostas
solução!

Olá Juliana, tudo bem com você?

O this é uma palavra-chave reservada do Java, que se refere ao objeto em questão, e é opcional dentro da classe.

O uso do this, em geral, está relacionado a boas práticas de programação, pois torna o código mais legível para outras pessoas programadoras que trabalham com você no projeto, além de facilitar a sua leitura após algum tempo longe.

No entanto, o this é poderoso, pois é uma referência ao próprio objeto e tem casos onde ele não é somente boa prática. Vamos imaginar a classe:

public class Pessoa {

    private String nome;

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


}

O método setNome recebe uma String nome, que nesse caso tem o mesmo nome da variável da classe private String nome. Nesse caso, o não uso da palavra this vai gerar um problema de escopo, por ter o mesmo nome de variável. Em casos onde não há esse conflito de nomes de variáveis, o uso da palavra this é opcional, mas facilita (e muito) o entendimento de qual variável estamos falando, se é a local ou da instância.

Para se aprofundar um pouco mais, te recomendo a documentação da w3schools sobre o this, que está em inglês mas você pode utilizar a função de tradução do seu navegador caso sinta necessidade!

Me coloco à disposição e bons estudos!

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

Ahh, entendi. Muito obrigada!!

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