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

Projeto diferente que o da aula

Estou no curso de Java 3: aula 4 .. chegou na parte de Sobrescrever o metodo porem não compilou pois a estrutura do professor não estavam com as validações que foram colocadas durante o curso 2 de java (no caso ele ta usando o mesmo projeto)

A tarefa em questão era pra acrescentar uma taxa quando fizer uma transferencia... entendi a questão de sobrescrever porem fiz de outro jeito do qual foi passado no video:

public boolean transfere(double valor, Conta destino) {
        if(this.saldo >= valor) {
            this.saldo -= valor + 0.2;
            destino.deposita(valor);
            return true;
        }
        return false;

    }

E o que foi passado esta assim:

public boolean transfere(double valor, Conta destino) {

    if(this.saca(valor)) {
        destino.deposita(valor);
        return true;
    } else {
        return false;
    }
}

o que está travando é que essa regra é apenas para as contas correntes e não esta funcionando justamente por causa das validações do projeto anterior codigo do metodo saca principal:

public boolean transfere(double valor, Conta destino) {
        if(this.saldo >= valor) {
            this.saldo -= valor ;
            destino.deposita(valor);
            return true;
        }
        return false;

    }

E metodo da class ContaCorrente

@Override
    public boolean saca(double valor) {
        double valorASacar = valor + 0.2;

        return super.saca(valorASacar);
    }

preciso que a taxa seja aplicada nas contas correntes apenas, porem o ultimo codigo compila mas não funciona por causa das validações.... Sugestões?

2 respostas
solução!

Uma pergunta, voce esta adicionando a taxa no saque, todo o saque tem que ter essa taxa de 0.2? Se sim beleza, teria que funcionar pois esta chamando adicionando e sacando, caso contrario isso deveria estar em um metodo sobreescrito de transferencia, que pode ser criado na classe ContaCorrente

Tente fazer isso, na classe ContaCorrente crie um metodo transfere que sobreescreva o metodo transfere de Conta.

é que sempre vou acompanhando com o video e de alguma forma funcionou daquele jeito kk. mas resolvido sobrescrevendo o metodo transfere