0
respostas

Warning: Undefined property: Alura\Banco\Modelo\Conta\ContaPoupanca::$saldo

Fiz exatamente como está na aula, deixano o codigo aqui para saber qual a solução do problema.

<?php

namespace Alura\Banco\Modelo\Conta;

class ContaPoupanca extends Conta
{
    public function sacar (float $valor): void
    {
        $tarifaSaque = $valor * 0.03;
        $valorSaque = $valor + $tarifaSaque;

        if ($valorSaque > $this->saldo){
            echo "Saldo Indisponivel.";
            return;
        }

        $this->saldo -= $valorSaque;

    }
}
<?php

namespace Alura\Banco\Modelo\Conta;

class Conta
{
    private Titular $titular;
    private float $saldo;
    private static $numeroContas = 0;

    public function __construct (Titular $titular)
    {
        $this->titular = $titular;
        $this->saldo = 0;

        self::$numeroContas++;
    }

    //Getters
    public function getSaldo (): float
    {
        return $this->saldo;
    }

    public function getNomeTitular (): string
    {
        return $this->titular->getNome();
    }

    public static function getNumeroContas (): int
    {
        return self::$numeroContas;

    }

    //Depositar
    public function depositar (float $valor): void
    {
        $this->saldo = $valor;
    }

    //Sacar
    public function sacar (float $valor): void
    {
        $tarifaSaque = $valor * 0.03;
        $valorSaque = $valor + $tarifaSaque;
        if ($this->saldo < $valorSaque){
            echo "Saldo Insuficiente.";
            return;
        }

        $this->saldo -= $valorSaque;
    }

    //transferir
    public function transferir (float $valor, Conta $contaDestino): void
    {
        if($this->saldo < $valor){
            echo "Saldo Insuficiente.";
            return;
        }

        $this->sacar($valor);
        $contaDestino->depositar($valor);
    }

}