コード例 #1
0
 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;
     }
 }
コード例 #2
0
 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;
     }
 }
コード例 #3
0
            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;
}