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

Duvida no emcapsulamento

package fj11;

public class Conta {

    protected  double saldo;
    private String nome;
    private int agencia;

    public Conta(double saldo, String nome, int agencia) {
        this.saldo = saldo;
        this.nome = nome;
        this.agencia = agencia;

    }

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

    public void deposita(double valor){
        this.saldo += valor;
    }

     public void atualiza(double taxa){
            System.out.println("Esse e o saldo atualizado: " + (this.saldo +=this.saldo * taxa));

        }

    public void saca(double valorSacado){
        this.saldo -= valorSacado;
    }

    public String getNome() {
        return nome;
    }
    public void setNome(String nome) {
        this.nome = nome;
    }
    public int getAgencia() {
        return agencia;
    }
    public void setAgencia(int agencia) {
        this.agencia = agencia;
    }
    public double getSaldo() {
        return this.saldo;
    }
    public void imprime() {

        System.out.println("Nome do Cliente: "+ nome);
        System.out.println("Nome da agencia : "+ agencia);
        System.out.println("Saldo em conta : " + saldo);

        //System.out.println();

    }
}
 class ContaCorrente   {

     public void atualiza(double taxa){
            this.saldo +=this.saldo * taxa *2;
    }
}
 class ContaPoupança{

}

//MINHA DUVIDA É O PORQUE DO MEU CÓDIGO NAO RECONHECER A VARIAVEL SALDO NO ContaCorrente! Eu tenho algumas duvidadas para fazer essas separações principalmente para referenciar!

3 respostas
solução!

Reginaldo seu código ta difícil para entender, sempre que você postar duvida, formata o seu código, assim facilita a vida de todos.

Pelo oque eu entendi não está achando a variavel saldo sua na sua class contaCorrente, olhando para sua classe, apenas contem um metodo chamado atualiza, eu não vi nenhuma variavel declarado na sua classe para poder achar mesmo.

class ContaCorrente {

    public void atualiza(double taxa){ 
        this.saldo +=this.saldo taxa 2;
    }

 }

Como disse você não declarou nenhuma variavel em sua classe para você poder ultilizar ela, basta criar uma lá, mas tbm tem outra solução, olhando para sua class Conta, lá já tem uma variavel chamada saldo, basta você extender essa class e usar a variavel. Porem você vai ter que retirar o this.

Fica ao seu critério

Pois bem ela pelo que eu vi ela é de outra classe.

Tem varias maneiras de fazer isso pelo que eu vi lendo seu código, acredito quer vc quer usar herança !!

então faltou isso !!

class ContaCorrente extends Conta {

public void atualiza(double taxa){ 
    this.saldo +=this.saldo taxa 2;
} }

Tudo bem Reginaldo?

O saldo pertence à classe Conta, por isso você não consegue acessar diretamente o saldo na ContaCorrente.

Para isso, você criar alguma relação entre as duas classes, como herança, por exemplo:

class ContaCorrente extends Conta {

    // restante do código
}

Aí tudo deve funcionar.

Espero ter ajudado. Abraço !