Olá pessoal!
Neste exercício 2 tem-se o seguinte código:
    class ContaCorrente extends Conta implements Tributavel {
        // outros atributos e métodos
        public double calculaTributos() {
            return this.getSaldo() * 0.01;
        }
    }
Dúvidas (favor responder cada dúvida separadamente):
1 - o que as melhoras práticas indicam, utilizar this.getSaldo() ou super.getSaldo()?
2 - na classe pai Conta o atributo saldo não deveria ser "private"? Questiono porque se não me engano em exemplos/exercícios anteriores foi considerado "protected", porém com protected é possível alterar o saldo direto, sem utilizar o setter da classe pai Conta (ex: objeto cc.saldo = 0)
3 - nesta classe ContaCorrente também existe o seguinte método:
    public void atualiza(double taxa) {
        this.deposita(this.getSaldo() * taxa * 2); 
    }
O que as melhores práticas indicam, a forma acima está correta, eu deveria ter feito da forma abaixo ou existiria alguma outra maneira?
    private double saldo = 0;
    public void atualiza(double taxa) {
        this.saldo = this.getSaldo() * taxa * 2;
        this.deposita(this.saldo); 
    }
Desde já obrigado!
Atte., Elías.