Galera, seguinte... ta tudo muito confuso pra mim.... se eu coloco abstract na minha classe ContaCorrente ele pára de compilar... e na classe AtualizadorDeContas me pede para que eu crie o método atualiza(); e no enunciado do exercicio me pede pra fazer exatamente o contrario... pede para que eu coloque a classe ContaCorrente como abstract que o código volta a compilar....
vou mostrar meu código para que vocês me ajudem...
Classe Conta
package conta;
public abstract class Conta {
protected double saldo;
public double getSaldo() {
return this.saldo;
}
public void deposita(double valor) {
this.saldo += valor;
}
public void saca(double valor) {
this.saldo -= valor;
}
public abstract void atualiza(double taxaSelic);
}
Classe ContaCorrente
class ContaCorrente extends Conta {
public void atualiza(double taxa) {
this.saldo += this.saldo * taxa * 2;
}
}
Classe ContaPoupanca
package conta;
class ContaPoupanca extends Conta {
public void atualiza(double taxa) {
this.saldo += this.saldo * taxa * 3;
}
public void deposita(double valor) {
this.saldo += valor - 0.10;
}
}
Classe AtualizadorDeContas
package conta;
class AtualizadorDeContas extends Conta {
private double saldoTotal = 0;
private double selic;
public AtualizadorDeContas(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 Atual " + c.getSaldo());
this.saldoTotal += c.getSaldo();
}
public double getTotalSaldo() {
return this.saldoTotal;
}
public static void main(String[] args) {
Conta cc = new ContaCorrente();
Conta cp = new ContaPoupanca();
cc.deposita(1000);
cp.deposita(1000);
AtualizadorDeContas adc = new AtualizadorDeContas(0.01);
adc.roda(cc);
adc.roda(cp);
System.out.println("Saldo Total: " + adc.getTotalSaldo());
}
@Override
public void atualiza(double taxaSelic) {
// TODO Auto-generated method stub
}
}
Já quebrei a cabeça com isso... to pensando em desistir kkkk
abraços!