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

Uso do this

Boa tarde pessoal! Bom, vi o this recentemente no curso de Orientação a objetos e estou com bastante dúvida no uso dele.

Pelo que entendi, usamos ele para acessar um atributo de uma classe e especificá-lo, mas minha é dúvida é quando e porque usamos ele? Acabei me perdendo um pouco na explicação do Paulo.

1 resposta
solução!

O this é usado para acessar um atributo da instância do objeto que foi criada e está sendo acessada.

Ele não é obrigatório, em alguns casos faz mais sentido que outros usar, mas facilita a legibilidade e evita problemas como erro de lógica devido ao shadowing, por exemplo, imagine a situação:

class Conta {

        double saldo;

        void deposita(double saldo) {
            this.saldo = saldo;
        }
}

Nesse código, dizemos que estamos pegando o valor saldo passado por parâmetro ao método deposita e atribuindo à variável de instância saldo (usamos o this nela para diferenciar uma de outra). Se usássemos assim:

class Conta {

        double saldo;

        void deposita(double saldo) {
            saldo = saldo;
        }
}

não haveria atribuição para variável de instância pois como as duas tem o mesmo nome utiliza-se apenas saldo passado por parâmetro (escopo da funçõa) e o saldo da instância continuaria com o valor padrão 0.0. Em um código mais complexo pode ficar confuso visualizar quais são variáveis de instância e quais são locais.