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

duvida no this.

ola!

por que onde consta o comentario abaixo é this. e não apenas saldoTotal += c.getSaldo(); ?

obrigada!


public class AtualizadorDeContas {

        private double saldoTotal=0;
        private double selic;


        AtualizadorDeContas (double selic) {

                this.selic = selic;


        }







        public void roda (Conta c) {

            System.out.println("saldo anterior: " + c.getSaldo());

            c.atualiza(this.selic);

            System.out.println("saldo final: " + c.getSaldo());

            this.saldoTotal += c.getSaldo();     //aqui!


        }



        public double getSaldoTotal() {

            return saldoTotal;

        }






}
4 respostas

Taina, o this.saldoTotal está pegando uma propriedade da sua classe "Atualizador de conta". Por utilizar o this.saldoTotal, é uma de forma de guarda sempre o mesmo valor e ir adicionando outros, sempre que o método "roda" é executado.

solução!

Olá Taina,

O this é usado para referenciar o objeto em questão. O this é muito usado quando queremos diferenciar por exemplo o atributo da classe de um parâmetro passado no método ou construtor. Por exemplo, se tivéssemos um construtor com um parâmetro:



public AtualizadorDeContas(double saldoTotal){
    saldoTotal=saldoTotal ????
}

O this justamente seria para realizar a diferenciação acima, ou seja, eu digo para atribuir o valor saldoTotal no atributo saldoTotal da minha classe, this.saldoTotal, o saldoTotal que é o atributo da minha classe. Então teríamos:

public AtualizadorDeContas(double saldoTotal){
    this.saldoTotal=saldoTotal 
}

Espero ter ajudado :)

Olá Tainá.

Gostaria de adicionar aqui que, nesse caso, o "this" é opcional. Vai funcionar da mesma forma sem ele, onde acaba sendo redundante. Isso pra esse caso. O bom de usar é você acostumar com isso e garantir que sempre está usando a variável certa, como nos casos de métodos com parâmetros de mesmo nome do atributo da classe, da forma que o Rafael Silva exemplificou acima. Nesses casos, precisamos especificar quem é o atributo e quem é o parâmetro, já que eles têm o mesmo nome, aí usamos o "this". Do contrário, tendo nomes diferentes, é opcional, assim como a variável selic no método roda() (mas não é opcional no construtor, claro, já que o parâmetro tem o mesmo nome).

[]'s.

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