- Vamos montar uma pequena e simplificada aplicação bancária, composta das
classes mostradas no diagrama UML abaixo:
Classe Correntista
Atributos: nome e saldo ? sabendo que um correntista pode ter diversas contas no
banco, o atributo saldo corresponde à soma dos saldos de todas essas contas, ou seja,
é o total que o correntista (cliente) possui no banco.
Construtor: recebe o nome
Métodos:
? movimentaConta ? este método é chamado cada vez que uma conta qualquer que
pertence a este correntista sofre alguma operação capaz de alterar o seu saldo. Logo,
este método deve receber o valor da respectiva transação ? este valor é negativo em
caso de retirada, positivo em caso de depósito
? métodos de acesso aos atributos (get)
Classe ContaCorrente:
Conta Corrente Correntista
Poupança
atributos: correntista, do tipo Correntista e saldo.
Construtor: recebe um objeto do tipo Correntista para inicializar o respectivo atributo
e inicializa o saldo em zero.
Métodos
? deposita ? que recebe o valor depositado
? retira - que recebe o valor da retirada e devolve true se a retirada encontrou saldo
suficiente para cobrí-la; devolve, false em caso contrário
? métodos de acesso aos atributos (get)
Classe ContaPoupanca ? é uma subclasse (veja o diagrama)
atributos: taxa de rendimento (na forma decimal, por exemplo, 0.065 corresponde a
6,5%)
Construtor: recebe o objeto Correntista e a taxa de rendimento
Métodos:
? creditaRendimento ? uma conta de poupança tem direito a rendimentos eventuais ou
periódicos. Este método calcula o valor do rendimento em Reais, credita-o (acrescenta
ao saldo) e devolve o valor deste rendimento.
? setTaxaRendimento ? permite mudar a taxa de rendimento
? getTaxaRendimento
Obs. Lembre que sempre que uma conta sofre uma movimentação qualquer, isto é,
alguma operação que altera o seu saldo, isto deve se refletir, também, no atributo
saldo do correntista que é dono da conta.
esse metodo que estou em duvida
? creditaRendimento ? uma conta de poupança tem direito a rendimentos eventuais ou
periódicos. Este método calcula o valor do rendimento em Reais, credita-o (acrescenta
ao saldo) e devolve o valor deste rendimento.
classe correntista
public class Correntista
{
private String nome;
private double saldo;
public Correntista(String nome)
{
this.nome = nome;
}
public Correntista(String nome, double saldo)
{
this.nome = nome;
this.saldo = saldo;
}
public String getNome()
{
return nome;
}
public void setNome(String nome)
{
this.nome = nome;
}
public double getSaldo()
{
return saldo;
}
public void setSaldo(double saldo)
{
this.saldo = saldo;
}
public double movimentaConta(double vlr)
{
//funcao//
return 0.0;
}
}
classe conta corrente
public class ContaCorrente
{
private Correntista correntista;
private double saldo;
public ContaCorrente(Correntista correntista, double saldo)
{
this.correntista = correntista;
this.saldo = 0;
}
public Correntista getCorrentista()
{
return correntista;
}
public void setCorrentista(Correntista correntista)
{
this.correntista = correntista;
}
public double getSaldo()
{
return saldo;
}
public void setSaldo(double saldo)
{
this.saldo = saldo;
}
public void deposita(double valor)
{
saldo = saldo+valor;
}
public void retira(double retirada)
{
if(saldo<=retirada)
saldo = saldo-retirada;
else
System.out.println("VALOR INDISPONIVEL");
}
}
classe conta poupanca
public class ContaPoupanca extends ContaCorrente
{
private double taxaderendimento;
public ContaPoupanca(double taxaderendimento,Correntista correntista,double saldo)
{
super(correntista,saldo);
this.taxaderendimento=taxaderendimento;
}
public double getTaxaderendimento()
{
return taxaderendimento;
}
public void setTaxaderendimento(double taxaderendimento)
{
this.taxaderendimento = taxaderendimento;
}
public double creditaRendimento()
{
return 0.0;
}
}