p1.aplic.banco
Class ContaCaixa

java.lang.Object
  |
  +--p1.aplic.banco.Conta
        |
        +--p1.aplic.banco.ContaCaixa
All Implemented Interfaces:
java.io.Serializable

public class ContaCaixa
extends Conta

Classe de conta caixa. A agencia tem uma conta caixa que é uma conta com várias restrições. A conta caixa representa o caixa da agência. Como todos os movimentos feitos a contas bancárias devem envolver duas contas (pelos princípios da contabilidade), a conta caixa é usada durante os depósitos e saques feitos pelos clientes com suas contas normais.

Por exemplo, um depósito envolve uma transferência de valor para uma conta. De onde veio este dinheiro? Da conta caixa. Em outras palavras, a conta caixa é debitada e a conta alvo é creditada.

Da mesma forma, um saque envolve um débito de uma conta normal e um crédito na conta caixa.

A conta caixa tem um comportamento diferente das demais contas. Por exemplo: ela pode ter saldo negativo à vontade (resultados de depósitos) e certas outras operações lançam exceções.

Version:
1.1
Copyright (C) 1999 Universidade Federal da Paraíba.
Author:
Jacques Philippe Sauvé, jacques@dsc.ufpb.br
See Also:
Serialized Form

Constructor Summary
ContaCaixa()
          Constroi uma conta caixa
 
Method Summary
 boolean depositar(double valor)
          Não deixa efetuar depósito no caixa.
 void fechar()
          Não permite o fechamento da conta
 boolean sacar(double valor)
          Não deixa efetuar saques no caixa.
 java.lang.String toString()
          Transforma os dados da conta em um String.
 boolean transferir(Conta destino, double valor, java.lang.String descr)
          Transfere um valor do caixa para outra conta (depósito).
 
Methods inherited from class p1.aplic.banco.Conta
criarExtrato, getCPF, getDataAbertura, getMovimento, getNome, getNúmero, getSaldo, getSaldoMonetário, getTitular, getTransações, transferir
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ContaCaixa

public ContaCaixa()
Constroi uma conta caixa
Method Detail

transferir

public boolean transferir(Conta destino,
                          double valor,
                          java.lang.String descr)
Transfere um valor do caixa para outra conta (depósito).
Overrides:
transferir in class Conta
Parameters:
destino - A conta destino.
valor - O valor a transferir.
descr - A descrição da transação.
Returns:
O sucesso ou não da operação.

depositar

public boolean depositar(double valor)
Não deixa efetuar depósito no caixa. Para que não haja depósito feito diretamente na conta "caixa", fazemos override de um depósito normal para que este não seja permitido para a conta caixa.
Overrides:
depositar in class Conta
Parameters:
valor - O valor que se quer depositar.
Returns:
O sucesso ou não da operação (sempre false).

sacar

public boolean sacar(double valor)
Não deixa efetuar saques no caixa. Para que não haja saque feito diretamente na conta "caixa", fazemos override de um saque normal para que este não seja permitido para a conta caixa.
Overrides:
sacar in class Conta
Parameters:
valor - O valor que se quer sacar.
Returns:
O sucesso ou não da operação (sempre dá false).

fechar

public void fechar()
            throws NaoPodeFecharContaException
Não permite o fechamento da conta
Overrides:
fechar in class Conta
Throws:
NaoPodeFecharContaException - Porque não é permitido fechar o caixa.

toString

public java.lang.String toString()
Transforma os dados da conta em um String.
Overrides:
toString in class Conta
Returns:
O string com os dados da conta.