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

Explicação sobre o This

Tenho bastante dificuldade para entender esse "this". Vi em outro tópico sobre como utilizar, mas gostaria de entender o porque foi utilizado o this nessa aula:

public class ContaCorrente { public string titular; public int agencia; public int numero; public double saldo = 100.0;

public bool Sacar (double valor)
{
    if(this.saldo < valor)
    {
        return false;
    }
    else
    {
        this.saldo -= valor;
        return true;
    }
}

public void Depositar(double valor)
{
    this.saldo += valor;
}

Por que o This, ja que o parametro do método nem se chama "saldo" ?

1 resposta
solução!

Salve Gabriel, beleza?

A principal função do this é eliminar o sombreamento, ou seja, eliminar o problema do parâmetro ter o mesmo nome que uma propriedade. Isso é bem comum de acontecer em construtores. Outra função do this é ajudar o programador a ler o código, supondo que na classe ContaCorrente tenha um método escrito desta forma:

public void Transferir(double valor, ContaCorrente destino)
{
    Sacar(valor);
    destino.Depositar(valor);
}

Pode parecer bem óbvio o que esse método faz, mas após bastante tempo trabalhando nesse código, lendo, um desenvolvedor (ou desenvolvedora) cansado ( ou desatento) pode perder um bom tempo tentando descobrir qual objeto está chamando o Sacar(). Principalmente se outras partes dessa classe utilizarem o this, aí que a pessoa fica confusa mesmo kkkk.

Por isso, além de resolver o problema de sombreamento, o uso do this é considerado uma boa pratica de programação. Pode usar sem medo!

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