Olá! Nesta aula eu mantive o "percentualTarifa" como protected nas classes criadas. Ficando assim:
ContaPoupaca.php ficou:
<?php
namespace Alura\B\Modelo\Conta;
class ContaPoupanca extends Conta
{
protected function percentualTarifa(): float
{
return 0.03;
}
}
E ContaCorrente.php ficou:
<?php
namespace Alura\B\Modelo\Conta;
class ContaCorrente extends Conta
{
protected function percentualTarifa(): float
{
return 0.05;
}
public function transfere(float $valorATransferir, Conta $contaDestino): void
{
if ($valorATransferir > $this->saldo) {
echo "Saldo indisponível";
return;
}
$this->saca($valorATransferir);
$contaDestino->deposita($valorATransferir);
}
}
Mas na hora de executar o arquivo teste-saque.php ele reclama pedindo pra ficar publica. "Fatal error: Access level to Alura\B\Modelo\Conta\ContaPoupanca::percentualTarifa() must be public (as in class Alura\B\Modelo\Conta\Conta)"
Qual seria alternativa pra que ela não fique pública? (Não seria um problema ela pública?)