Apostila FJ11: 7.7 - Exercícios: Herança e Polimorfismo

Alguém pode me dar uma força nesse exercício da Caelum:

[code]package exercicio7_7caelum;

public class Main {

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);

    c.atualiza(0.01);
    cc.atualiza(0.01);
    cp.atualiza(0.01);

    System.out.println("Saldo da CN: " + c.getSaldo());
    System.out.println("Saldo da CC: " + cc.getSaldo());
    System.out.println("Saldo da CP: " + cp.getSaldo());


}

}[/code]

[code]package exercicio7_7caelum;

public class ContaCorrente extends Conta {

void atualiza(double taxa) {
    this.saldo += this.saldo * taxa * 2;
}

void deposita(double valor) {
    this.saldo += valor - 0.10;
}

}[/code]

[code]package exercicio7_7caelum;

public class ContaPoupanca extends Conta {

void atualiza(double taxa) {
    this.saldo += this.saldo * taxa * 3;
}

}[/code]

[code]package exercicio7_7caelum;

public class Conta {

protected double saldo;

void deposita(double valor) {
    this.saldo += valor;
}

void saca(double valor) {
    this.saldo -= valor;
}

void atualiza(double taxa){
    this.saldo += this.saldo * taxa;
}

public double getSaldo() {
    return saldo;
}

public void setSaldo(double saldo) {
    this.saldo = saldo;
}

}[/code]

[code]package exercicio7_7caelum;

public class AtualizadorDeContas {

private double saldoTotal = 0;
private double selic;

AtualizadorDeContas(double selic) {
    this.selic = selic;
}

void roda(Conta c) {
    System.out.println("Saldo anterior: " + c.saldo);
    c.atualiza(10);
    System.out.println("Saldo final: " + c.saldo);
}

void roda(Conta cc) {
    System.out.println("Saldo anterior: " + cc.saldo);
    cc.atualiza(20);
    System.out.println("Saldo final: " + cc.saldo);
}

void roda(Conta cp) {
    System.out.println("Saldo anterior: " + cp.saldo);
    cp.atualiza(30);
    System.out.println("Saldo final: " + cp.saldo);

}[/code]

Apartir deste ponto não consegui passar.

Abraço!

Por favor, especifique sua dúvida pra eu tentar lhe ajudar…

abraço,
André AS :smiley:

Ajuda em que mesmo?

Eu quero inserir na classe AtualizadorDeContas esta parte do exercício:

  1. (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.

[code]class AtualizadorDeContas {
private double saldoTotal = 0;
private double selic;

AtualizadorDeContas(double selic) {
this.selic = selic;
}
//essa parte do roda() que não estou conseguindo fazer, pois da forma que fiz tá dando erro de compilação, o sistema não consegue identificar o SALDO.
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!
}[/code]