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

Erro nas funções recuperaNomeTitular e RecuperaCpfTitular

Bom dia Eu segui o passo a passo assim que o código deu o erro e mesmo seguindo cada passo feito pelo Vinicius ele insiste no erro a seguir

erro no código na parte do $this -> titular

Insira aqui a descrição dessa imagem para ajudar na acessibilidadevou colocar abaixo o código completo

<?php

class Conta {
    private string $titular;
    private float $saldo;
    private static float $numeroDeContas;

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

        self::$numeroDeContas++;
    }

    public function sacar(float $valorASacar): void 
    {
        if($valorASacar > $this -> saldo) {
            echo "Saldo indisponível";
        } else {
            $this -> saldo -= $valorASacar;
        }
    }

    public function depositar(float $valorADepositar): void 
    {
        if($valorADepositar < 0) {
            echo "Valor precisa ser positivo";
        } else {
            $this -> saldo += $valorADepositar;
        }
    }

    public function transferir(float $valorATransferir, conta $contaDestino): void 
    {
        if($valorATransferir > $this->saldo) {
            echo "Saldo indisponível";
        } else {
            $this->sacar($valorATransferir);
            $contaDestino->depositar($valorATransferir);
        }
    }

    public function recuperarSaldo(): float 
    {
        return $this -> saldo;
    }

    public function recuperarNomeTitular(): string
    {
        return $this-> titular->recuperarNome();
    }

    public function recuperarCpfTitular(): string
    {
        return $this -> titular -> recuperarCpf();
    }

    public static function recuperarNumeroDeContas() : int 
    {
        return self::$numeroDeContas;
    }
}
4 respostas

Não é permitido espaço em brancos entre o objeto->propriedade.

Reescreva assim:

$this->saldo
$this->titular->recuperarCpf()

Sem espaços em branco.

solução!

Gabriel, esse não é o problema.

Nayara, você definiu $titular como string e está tentando chamar métodos. strings não são objetos.

Tem razão, Vinícius. Não prestei atenção nesse detalhe.

Meninos, muito obrigada Vinicius depois de quebrar a cabeça eu apaguei o string e deu certo, e no video seguinte você falou na parte da classe CPF que poderiamos colocar e ai eu voltei coloquei Titular e deu certo o código... agradeço muito a ajuda de vocês =)