3
respostas

[Dúvida] Manter a variável "saldo" como 'private'

Gostaria de manter a variável "saldo" da classe mão abstrata (Conta) como 'private' e implementar o método deposita da classe filha (ContaCorrente/ContaPoupanca) utilizando o getSaldo...

@Override
    public void deposita(double valor) {
        super.getSaldo() += valor;
    }

porém, estou com um erro justamente em "super.getSaldo()"...como proceder?

3 respostas

Você deve usar protected, pois ele permite que você possa usar essa variavel nas classes filhas da classe Conta.

public abstract class Conta {

    protected double saldo;
    //codigo
}

Espero ter ajudado.

Obrigada pela resposta!

Entendo o uso do protected para este cenário, porém, eu gostaria de manter esta variável "saldo" como private e implementar o método 'deposita' utilizando o getSaldo na classe filha... (encontrei algumas dúvidas parecidas no fórum...mas ainda não ficou muito claro para mim)

O correto seria isso, não?

@Override
    public void deposita(double valor) {
        super.setSaldo(super.getSaldo() + valor);
    }

Se vai manter Saldo como private, precisará utilizar um método da classe super para alterar o valor da variavel saldo, no caso o setSaldo().

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software