Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Estou com dúvida no curso de Java e Orientação a Objetos, no exercício 4 do capítulo Herança, reescrita e polimorfismo.

Não entendi oq fiz de errado,

Opinião do instrutor Você deve ter obtido o seguinte resultado:

1010.0 1020.0 1029.897

Eu consegui:

1010.0 1019.898 1030.0

public 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 void atualiza(double taxa) {
        this.saldo += this.saldo * taxa;
    }

}


public class ContaCorrente extends Conta {

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

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

}




public class ContaPoupanca extends Conta {

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

}





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

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

    }

}
1 resposta
solução!

A sua resposta está correta. A resposta oficial que está errado.

No exercicio 3 está escrito:

"Além disso, a ContaCorrente deve reescrever o método deposita, a fim de retirar uma taxa bancária de dez centavos de cada depósito"

Você fez certo, na classe ContaCorrente:

public class ContaCorrente extends Conta {

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

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

}

Mas se olhar na resposta oficial deste exercicio, o instrutor tira o 0.10 da ContaPoupanca

        public 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;
            }
        }