Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Dúvida no Ex. 3 da Aula 2 - Herança, reescrita e polimorfismo

Criei a classe Poupança estendida da classe Conta e está dando um erro nos dois métodos atualiza e deposita. A classe ContaCorrente está correta. Poderia verificar?

ERRO: Multiple markers at this line
- saldo cannot be resolved or is not a field
- saldo cannot be resolved or is not a field

Segue abaixo o código:

public class Conta {

    protected double 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 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 void deposita(double valor) {
        this.saldo+= valor-0.10;
    }

}
5 respostas

Oi Rozenildo, tudo bem?Aparentemente não há problema nenhum nessas suas classes. Poderia postar também o código da classe que testa a conta? A classe que contem o metodo main. Assim podemos dar uma olhada no que está acontecendo de forma mais clara e dar uma resposta melhor.

Entende?

Rozenildo , Bom dia !

coloque também sua classe de teste , assim podemos analisar melhor o que está acontecendo .

Segue abaixo a classe para testar contas.

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

    }

Pessoal. Deletei o código anterior e inseri outro e funcionou. Não sei o que houve.

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

}
solução!

Rozenildo ,

que bom que conseguiu resolver , qualquer dúvida poste aqui no forum