function retirar($quantia) { if ($this->saldo >= $quantia) { //Executa metodo da Classe Pai parent::retirar($quantia); return true; } else { echo 'Retirada não permitida'; return false; } }
function retirar($quantia) { if ($this->saldo + $this->saldo >= $quantia) { //Executa metodo da Classe Pai parent::retirar($quantia); //Imposto sobre movimentação financeira $cpmf = 0.05; //Debita o Imposto parent::retirar($quantia * $cpmf); return true; } else { echo 'Retirada não permitida'; return false; } }
throw new ContaException('Você não pode fazer retiradas com valores negativos'); } $novoSaldo = $this->saldo - $valor; if ($novoSaldo < $this->limite) { throw new LimiteContaException('Você não tem saldo/limite para realizar esta retirada. Seu limite é R$' . $this->limite . ', e seu saldo é R$' . $this->saldo); } $this->saldo = $novoSaldo; } } class ContaException extends Exception { } class LimiteContaException extends ContaException { } header('content-type:text/html; charset=utf-8'); $conta = new Conta('123456-7'); try { $conta->depositar(1000); $conta->retirar(1500); $conta->retirar(-100); } catch (LimiteContaException $e) { echo 'LimiteContaException: ', $e->getMessage(); exit; } catch (ContaException $e) { echo 'ContaException: ', $e->getMessage(); exit; } catch (Exception $e) { echo 'Exception: ', $e->getMessage(); exit; }