1
resposta

Private

A minha duvida é o seguinte, por conta de segurança optei por declara os atributos da class Conta como private e gerar os get e set, porem na class ContaCorrente como eu consigo manipular esse atributo? Eu tentei colocar this.getSaldo() = this.getSaldo() taxa 2, só que da erro, teria que atribuir a uma nova variável?

public class Conta {
    private double saldo;

    public double getSaldo() {
        return saldo;
    }

    public void setSaldo(double saldo) {
        this.saldo = saldo;
    }

    public void deposita(double valor){
        this.saldo += valor;
    }
    public void sacar(double valor){
        if(valor > saldo){
            System.out.println("Saldo inválido");
        }else{
            this.saldo = saldo - valor;
        }
    }
    public void atualiza(double taxa){
        this.saldo += saldo * taxa;
    }
}


public class ContaCorrente extends Conta{    
    public void atualiza(double taxa){        
    }
}
1 resposta

Oi Tiago,

quando você fez

private double saldo;

você deixou a variável ser acessada somente pela classe onde ela foi declarada, ou seja, a classe Conta, portando dentro da classe Conta você pode acessar this.saldo em qualquer lugar, porém quando você cria a classe Conta em outra classe, por exemplo a ContaTeste (ainda não criada) é necessário utilizar os métodos getSaldo() e setSaldo(double Saldo)

A classe ContaCorrente estende a classe Conta, e ela tem acesso aos atributos da classe mãe como se fossem seus atributos.

Por exemplo

class Funcionario {
        protected String nome;
        protected String cpf;
        protected double salario;

        public double getBonificacao() {
            return this.salario;
        }
        // métodos devem vir aqui
    }
class Gerente extends Funcionario {
        int senha;
        int numeroDeFuncionariosGerenciados;

        public double getBonificacao() {
            return this.salario * 0.15;
        }
        // ...
    }

No exemplo ele está reescrevendo o método getBonificacao e acessando diretamente this.saldo.

Bom, essa foi uma explicação bem por cima, espero ter te ajudado a entender um pouco, qualquer problema ou dívida só postar, se eu cometi algum equívoco favor me corrigirem xD estou digitando de um celular é muito difícil rs