2
respostas

Tive dificuldade na atribuição de saldo más então usei o protected e resolvi

saldo += $deposito; } public function sacar($saque):void { $this->saldo -= $saque; } public function saldo(): float { return $this->saldo; } } /* $poupanca = new ContaPoupanca(); print_r($poupanca); $poupanca->depositar(500); $poupanca->sacar(200); echo "Saldo = ". $poupanca->saldo(); */ class ContaCorrente extends ContaPoupanca { public function cobrarTarefaMensal($tarifa) { $this->saldo -= $tarifa; } } $corrente = new ContaCorrente(); var_dump($corrente); $corrente->depositar(100); $corrente->sacar(20); $corrente->cobrarTarefaMensal(10); echo "\n\n saldo corrente = ".$corrente->saldo();
2 respostas

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Olá Cauan! Tudo bem?

Que bom que conseguiu resolver a questão da atribuição de saldo usando o modificador de acesso protected. Isso permite que a propriedade $saldo seja acessada diretamente pelas subclasses, como você fez na sua classe ContaCorrente.

No entanto, notei que o exercício pede algumas coisas específicas que você pode adicionar ao seu código para ficar mais alinhado com o que foi solicitado:

  1. Classe Base ContaBancaria: Parece que sua classe base é ContaPoupanca, mas o exercício pede para criar uma classe ContaBancaria. Você pode renomear ContaPoupanca para ContaBancaria.

  2. Constante de Taxa de Saque: No método sacar() da ContaCorrente, você deve cobrar uma taxa de saque. Você pode definir essa taxa como uma constante na classe ContaCorrente. Por exemplo:

    class ContaCorrente extends ContaBancaria
    {
        const TAXA_SAQUE = 2.50;
    
        public function sacar($saque): void
        {
            $saqueComTaxa = $saque + self::TAXA_SAQUE;
            parent::sacar($saqueComTaxa);
        }
    
        public function cobrarTarifaMensal($tarifa)
        {
            $this->saldo -= $tarifa;
        }
    }
    
  3. Método consultarSaldo(): O exercício menciona um método consultarSaldo(), que você já implementou como saldo(). Apenas certifique-se de que está usando o nome correto conforme o exercício, caso isso seja um requisito.

Fazendo essas pequenas alterações, seu código ficará mais próximo do que o exercício pede.

Bons estudos!