@vinicius, joia ? Professor, seguinte se deixo os atributos como public passa se os deixo private não. Estou com o PHP 7.3.9 C:\Users\pabli>php -v PHP 7.3.9 (cli) (built: Aug 28 2019 09:28:48) ( ZTS MSVC15 (Visual C++ 2017) x64 ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.3.9, Copyright (c) 1998-2018 Zend Technologies
E o erro herado em tela é:
Fatal error: Uncaught Error: Cannot access private property Conta::$saldo in C:\laragon\www\conta\index.php:4 Stack trace: #0 {main} thrown in C:\laragon\www\conta\index.php on line 4
segue o meu código:
<?php
class Conta { private $cpfTitular; private $nomeTitular; private $saldo = 0;
public function saca(float $valorASacar): void
{
if ($valorASacar > $this->saldo) {
echo "Saldo indisponível";
return;
}
$this->saldo -= $valorASacar;
}
public function deposita(float $valorADepositar): void
{
if ($valorADepositar < 0) {
echo "Valor precisa ser positivo";
return;
}
$this->saldo += $valorADepositar;
}
public function transfere(float $valorATransferir, Conta $contaDestino): void
{
if ($valorATransferir > $this->saldo) {
echo "Saldo indisponível";
return;
}
$this->saca($valorATransferir);
$contaDestino->deposita($valorATransferir);
}
public function recuperaSaldo(): float
{
return $this->saldo;
}
public function defineCpfTitular(string $cpf): void
{
$this->cpfTitular = $cpf;
}
public function recuperaCpfTitular(): string
{
return $this->cpfTitular;
}
public function defineNomeTitular(string $nome): void
{
$this->nomeTitular = $nome;
}
public function recuperaNomeTitular(): string
{
return $this->nomeTitular;
}
}