Entendi sua dica, e mesmo sabendo que não é uma boa prática, gosto de explorar os limites da sintaxe da linguagem como forma de consolidar o aprendizado.
Neste sentido, reparei num detalhe que não consigo entender bem. Na aula sobre herança, a classe 'Titular' tem um método 'recuperaCpf()' assim:
public function recuperaCpf():string
{
return $this->cpf->recuperaNumero();
}
Esse método retorna um objeto do tipo CPF, que por sua vez chama um método 'recuperaNumero' e retorna uma string.
Essa afirmação está correta?
Em segundo lugar, para recuperar um CPF específico, tive que recorrer ao código abaixo no arquivo banco.php.
$annaPaula->recuperaCpfTitular()->recuperaCpf();
Onde $annaPaula
aponta para um objeto do tipo 'Titular'.
Minha dúvia é: porque no primeiro código a chamada para o método dispensou o uso dos parênteses, e no segundo caso eu tive que usar?