Boa tarde. Meu código não está compilando como deveria.
ContaCorrente
<?php
class ContaCorrente{
private $titular;
private $agencia;
private $numero;
private $saldo;
public function __construct($titular, $agencia, $numero, $saldo){ // metodos magicos começam sempre com dois _ _ . Dessa forma __
$this->titular = $titular;
$this->agencia = $agencia;
$this->numero = $numero;
$this->saldo = $saldo;
}
public function sacar($valor){
$this->saldo = $this->saldo - $valor;
return $this;
}
public function depositar($valor){
$this->saldo = $this->saldo + $valor;
return $this;
}
###################################################################################################
public function __get($atributo){ // atribui todos os gets. Não precisando fazer um para cada
$this->protegeAtributo($atributo);
return $this->$atributo;
}
public function __set($atributo, $valor){ // atribui todos os gets. Não precisando fazer um para cada
$this->protegeAtributo($atributo);
$this->$atributo = $valor;
}
private function protegeAtributo($atributo){
if($atributo == "titular" || $atributo == "saldo"){ // não atribui(modifica) titular e saldo.
return false;
}
}
}
Index
require "ContaCorrente.php";
$contaThaty = new ContaCorrente("Maria", "1212", "334890-9", 599.00);
$contaJoao = new ContaCorrente("João", "1212", "334890-3", 500.00);
echo $contaJoao->saldo;
Quando rodo o echo, aparece o saldo da conta do joão, o correto não era, não aparecer?