===============================
Saldo anterior: 1000.0
Saldo atualizado: 1000.0
===============================
Saldo anterior: 1000.0
Saldo atualizado: 1000.0
===============================
Saldo anterior: 999.9
Saldo atualizado: 999.9
*Os meus valores ficaram diferentes , segue abaixo as main e as classes
TestaContas
package Heranca;
public class TestaContas {
public static void main (String [] args){
Conta c = new Conta();
ContaCorrente cc = new ContaCorrente();
ContaPoupanca cp = new ContaPoupanca();
c.deposita(1000);
cc.deposita(1000);
cp.deposita(1000);
AtualizadorDeContas x = new AtualizadorDeContas();
x.roda(c);
x.roda(cc);
x.roda(cp);
c.atualiza(0.01);
cc.atualiza(0.01);
cp.atualiza(0.01);
System.out.println(c.getSaldo());
System.out.println(cc.getSaldo());
System.out.println(cp.getSaldo());
System.out.println("Saldo Total: " + x.getSaldoTotal());
}
}
Conta
package Heranca;
public class Conta {
private int numero;
private Agencia agencia;
protected double saldo;
private String titular;
private Banco banco;
public void setSaldo(double saldo){
this.saldo = saldo;
}
public double getSaldo(){
return this.saldo;
}
public void saca (double quantidade){
this.saldo = this.saldo - quantidade;
}
public void deposita (double quantidade){
this.saldo = saldo + quantidade;
}
public void atualiza(double taxa) {
this.saldo += this.saldo * taxa;
}
public double getAtualiza (){
return this.saldo;
}
}
Atualizado De Contas
package Heranca;
public class AtualizadorDeContas extends Conta {
private double saldoTotal = 0;
private double selic;
public void AtualizaConta(double selic){
this.selic = selic;
}
public void roda(Conta c) {
System.out.println("===============================");
System.out.println("Saldo anterior: " + c.getSaldo());
c.atualiza(this.selic);
System.out.println("Saldo atualizado: " + c.getSaldo());
this.saldoTotal += c.getSaldo();
}
public double getSaldoTotal() {
return this.saldoTotal;
}
public void saldoAtualizado (double saldoAtual){
saldoTotal += saldoAtual;
}
public double getSaldoAtualizado(){
return this.saldoTotal;
}
}
Conta Corrente
package Heranca;
public class ContaCorrente extends Conta{
public void atualiza(double taxa) {
this.saldo += this.saldo * taxa * 2;
}
}
Conta Poupança
package Heranca;
public class ContaPoupanca extends Conta{
public void atualiza(double taxa) {
this.saldo += this.saldo * taxa * 3;
}
public void deposita (double quantidade){
this.saldo = (saldo + quantidade) - 0.10;
}
}