p1.aplic.banco
Class Conta

java.lang.Object
  |
  +--p1.aplic.banco.Conta
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
ContaCaixa, ContaSimples

public abstract class Conta
extends java.lang.Object
implements java.io.Serializable

Classe abstrata de conta bancária com implementações default de alguns métodos.

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
Conta(Pessoa titular, int número)
          Cria uma conta a partir de uma pessoa e número de conta.
 
Method Summary
 Extrato criarExtrato(Data dataInicial, Data dataFinal)
          Cria um extrato com todas as transações entre duas datas.
 boolean depositar(double valor)
          Efetua um depósito numa conta.
 void fechar()
          Fecha a conta.
 java.lang.String getCPF()
          Recupera o CPF do titular da conta.
 Data getDataAbertura()
          Recupera a data de abertura da conta.
 Movimento getMovimento()
          Recupera o movimento da conta.
 java.lang.String getNome()
          Recupera o nome do titular da conta.
 int getNúmero()
          Recupera o número da conta.
 double getSaldo()
          Recupera o saldo da conta.
 Moeda getSaldoMonetário()
          Recupera o saldo da conta.
 Pessoa getTitular()
          Recupera o titular da conta.
 java.util.Iterator getTransações()
          Fornece um Iterator para varrer as transações por data.
 boolean sacar(double valor)
          Efetua sacada na conta.
 java.lang.String toString()
          Transforma os dados da conta em um String.
 boolean transferir(Conta destino, double valor)
          Transfere um valor para outra conta.
 boolean transferir(Conta destino, double valor, java.lang.String descr)
          Transfere um valor para outra conta.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Conta

public Conta(Pessoa titular,
             int número)
Cria uma conta a partir de uma pessoa e número de conta.
Parameters:
titular - O titular da conta.
número - O número da conta.
Method Detail

getNúmero

public int getNúmero()
Recupera o número da conta.
Returns:
O número da conta.

getTitular

public Pessoa getTitular()
Recupera o titular da conta.
Returns:
O titular da conta.

getNome

public java.lang.String getNome()
Recupera o nome do titular da conta.
Returns:
O nome do titular da conta.

getCPF

public java.lang.String getCPF()
Recupera o CPF do titular da conta.
Returns:
O CPF do titular da conta.

getDataAbertura

public Data getDataAbertura()
Recupera a data de abertura da conta.
Returns:
A data de abertura da conta.

getSaldo

public double getSaldo()
Recupera o saldo da conta.
Returns:
O saldo da conta como double.

getSaldoMonetário

public Moeda getSaldoMonetário()
Recupera o saldo da conta.
Returns:
O saldo da conta como Moeda.

getMovimento

public Movimento getMovimento()
Recupera o movimento da conta.
Returns:
O movimento da conta.

getTransações

public java.util.Iterator getTransações()
Fornece um Iterator para varrer as transações por data.
Returns:
O Iterator.

transferir

public boolean transferir(Conta destino,
                          double valor)
Transfere um valor para outra conta.
Parameters:
destino - A conta destino.
valor - O valor a transferir.
Returns:
O sucesso ou não da operação.

transferir

public boolean transferir(Conta destino,
                          double valor,
                          java.lang.String descr)
Transfere um valor para outra 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. Há insucesso se não houver saldo suficiente.

depositar

public boolean depositar(double valor)
Efetua um depósito numa conta.
Parameters:
valor - O valor a depositar.

sacar

public boolean sacar(double valor)
Efetua sacada na conta.
Parameters:
valor - O valor a sacar.
Returns:
O sucesso ou não da operação.

toString

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

fechar

public void fechar()
            throws NaoPodeFecharContaException
Fecha a conta.
Throws:
NaoPodeFecharContaException - Quando se tenta fechar uma conta com saldo não zero.

criarExtrato

public Extrato criarExtrato(Data dataInicial,
                            Data dataFinal)
Cria um extrato com todas as transações entre duas datas.
Parameters:
dataInicial - A data inicial do extrato (inclusive).
dataFinal - A data final do extrato (inclusive).