2
respostas

Implementação da função depositar

Boa noite! Eu implementei codigo de depositar antes de assistir o video. Porem o mesmo não funcionou. Quando tento depositar, ele nao mostra erro, porem quando chamo o saldo, o mesmo continua com o valor anterior definido. Onde esta meu erro?!

Obrigada!

class Conta
{
    public string $cpfTitular; 
    public string $nomeTitular; 
    public float $saldo;

    public function sacar(float $valorASacar)
    { //metodo (sacar);
        if ($valorASacar > $this->saldo) {
            echo "Saldo indisponivel!";
        } else {
            $this->saldo -= $valorASacar;
        }
    }

    public function depositar(float $valorDepositado): void 
    {
        if ($valorDepositado > 0) {
            $valorDepositado += $this->saldo;
            echo "Deposito realizado com sucesso!";
        } elseif ($valorDepositado < 0) {
            echo 'Você precisa adicionar um valor positivo!';
        }
    }
}
2 respostas

Olá Desirée. Isso acontece pois você na verdade está incrementando o valor que foi recebido na função ao invés de adicionar na propriedade de classe. O correto é assim: $this->saldo += $valorDepositado;

Obrigada pela resposta!!! Esclarceu minha duvida!

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