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

Melhorando a

Na sessão "opnião do instrutor", no link: https://cursos.alura.com.br/course/php-programacao-orientada-objetos/task/156859 , há alguns pontos a destacar:

  1. Na função 'sacar(int $valorASacar)', o 'valorASacar' pode ser menor ou igual ao 'saldoEmCentavos' e não apenas menor como colocado, ficando o código assim:

    public function sacar(float $valorASacar) {
            if ($valorASacar > 0 && $valorASacar <= $this->saldoEmCentavos) {
                $this->saldoEmCentavos -= $valorASacar;
            }
        }
    
  2. Por fim, entendo que a função 'setSaldoEmCentavos(int $saldoEmCentavos)' não deveria ter sido removida, sem ela não há como acessar as informações do saldo em conta;

3 respostas

Olá, Hugo! Tudo bem?

De fato, permitir que o valor a ser sacado seja menor ou igual ao saldo disponível é uma boa prática para evitar erros durante a execução do programa. O ajuste que você sugeriu na condição do if faz todo sentido:

public function sacar(float $valorASacar) {
    if ($valorASacar > 0 && $valorASacar <= $this->saldoEmCentavos) {
        $this->saldoEmCentavos -= $valorASacar;
    }
}

Quanto à função setSaldoEmCentavos, é importante considerar que, para manter a integridade dos dados e evitar que o saldo seja alterado diretamente, é melhor manipular o saldo apenas por meio de métodos que representem operações bancárias, como saque e depósito. Dessa forma, a retirada desse método foi importante e necessária nesse contexto.

Vou apresentar a sua sugestão do <= para o pessoal responsável pelo material, para avaliarem e aplicarem caso achem necessário.

No mais, bons estudos!

Boa noite Armano, perdão pela minha confusão..

Na verdade quis me referir ao método getter "getSaldoEmCentavos()", que também foi omitido.. no entanto, este é necessário para retorno do saldo:

public function getSaldoEmCentavos(): int
    {
        return $this->saldoEmCentavos;
    }

Espero ter ajudado. Hugo

solução!

Bom dia, Hugo!

Esta mais do que perdoado meu caro!

Realmente, o método getSaldoEmCentavos é necessário, por conta disso informei novamente essa questão para o pessoal responsável pelo material, devem atualizar quanto antes.