Estou querendo fazer o seguinte exercicio da apostila caelum
- (opcional) Vamos criar uma classe que seja responsável por fazer a atualização de todas as contas
bancárias e gerar um relatório com o saldo anterior e saldo novo de cada uma das contas.
class AtualizadorDeContas {
private double saldoTotal = 0;
private double selic;
AtualizadorDeContas(double selic) {
this.selic = selic;
}
void roda(Conta c) {
// aqui voce imprime o saldo anterior, atualiza a conta,
// e depois imprime o saldo final
// lembrando de somar o saldo final ao atributo saldoTotal
}
// outros métodos, colocar o getter para saldoTotal!
}
o que ocorre é que eu fiz o codigo pegando o getSaldo da classe conta e somei com o selic mas o saldo esta pegando zerado nao sei o por que alguem pode me ajudar ?
segue abaixo as classes,
Obrigado
public class Conta {
protected double saldo;
void deposita(double valor) {
this.saldo += valor;
}
void saca(double valor) {
this.saldo -= valor;
}
public double getSaldo() {
return this.saldo;
}
void atualiza(double taxa) {
this.saldo += this.saldo * taxa;
}
}
public class ContaCorrente extends Conta {
void atualiza(double taxa) {
this.saldo += this.saldo * taxa * 2;
}
void deposita(double valor) {
this.saldo += valor - 0.10;
}
}
public class ContaPoupanca extends Conta {
void atualiza(double taxa) {
this.saldo += this.saldo * taxa * 3;
}
}
public class AtualizadorDeContas extends Conta {
private double saldoTotal;
private double selic;
public double getSaldo(){
return super.getSaldo();
}
//METODOS
AtualizadorDeContas(double selic) {
this.selic = selic;
}
void roda(Conta c) {
saldoTotal = selic + super.saldo; // AQUI NAO ESTA PEGANDO O SALDO DA CLASSE CONTA.
}
public double getSaldoTotal() {
return saldoTotal;
}
}
public class Teste {
public static void main(String[] args){
Conta c = new Conta();
Conta cc = new ContaCorrente();
Conta cp = new ContaPoupanca();
c.deposita(1000);
cc.deposita(1000);
cp.deposita(1000);
AtualizadorDeContas adc = new AtualizadorDeContas(10);
adc.roda(cc);
System.out.println("Saldo Total: " + adc.getSaldoTotal()); // AQUI NAO ESTA PEGANDO O SALDO DA CLASSE CONTA.
System.out.println("Saldo Anterior: " + cc.getSaldo());
}
}