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

Erro ao executar o recuperaNomeTitular()

Professor não estou conseguindo retornar o nome e cpf do titular pelo

(Só esta alterado os nomes dos métodos e variáveis)

Classe Conta:

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

    public function getCpfTitular():string{
        return $this->titular->getCpf();
    }

Classe Titular

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

     public function getCpf():string{
        return $this->cpf;
    }

O php me retorna um erro que eu não sei o que é;

Warning: Uncaught Error: Typed property Titular::$nome must not be accessed before initialization in C:....

4 respostas

Então, Bruno. A mensagem na vdd é bem clara: "Nome não pode ser acessado antes de ser inicializado

Você está tentando acessar o nome do titular antes de atribuir qualquer valor a ele. :-)

Qual é a maneira mais eficaz para inicializar? Tentei algumas maneiras mais o erro persistiu....

<?php

Class Titular{

    private ?string $cpf = null;
    private ?string $nome = null;

e assim

<?php

Class Titular{

    private string $cpf = "";
    private string $nome = "";

Mais persistiu. O código em si dá certo, ele faz a chamada normal, só não está retornando a informação dos getters

Bruno, não tem maneira "mais eficaz". O certo é sempre garantir que esteja inicializado antes de tentar acessar. Uma forma de fazer isso é inicializando pelo método construtor.

Se o erro persiste, coloca o código inteiro no GitHub pra eu dar uma olhada. :-)

solução!

Vinicius, muito obrigado pelo seu feedback ! Grande Abraço !!

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