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

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

Não seria mais interessante ao reescrever os métodos saca e deposita, utilizar os getters e os setters nos métodos para mantermos o encapsulamento em vês de usar o modificador de acesso protected?

 exemplo:

public class ContaCorrente extends Conta {

    @Override
    public void atualiza(double taxa) {
        this.setSaldo(this.getSaldo() * (2 * taxa));
    }
}


public class ContaPoupanca extends Conta {

    @Override
    public void atualiza(double taxa) {
        this.setSaldo(this.getSaldo() * (3 * taxa));
    }

    @Override
    public void deposita(double valor) {
        double taxa = 0.1;
        this.setSaldo(this.getSaldo() + valor - taxa);
    }
}


`
2 respostas
solução!

Fábio,

Você também poderia fazer dessa maneira, porém deve ter cuidado para deixar a visibilidade do método setSaldo como protected, assim bloqueando o acesso a esse método do mundo (ou melhor do que não estiver na mesma package ou ser uma subclasse que extende Conta).

Eu imagino que o Guilherme tenha feito assim para deixar em destaque que este atributo faz parte da subclasse, mesmo estando declarado na superclasse.

Att.

Fábio,

sua dúvida foi resolvida?

Se foi, por favor marque a resposta que solucionou o seu problema, senão nos de um retorno para podermos lhe ajudar.

Att.