3
respostas

Por que o deposita e o saca funcionam?

Os métodos deposita e saca acessam e modificam o saldo, que é um atributo privado. Mesmo não tendo a presença de um get ou um set dentro desses dois métodos, eles funcionam. Alguém sabe me explicar o porquê?

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

    }
public boolean saca(double valor) {

        if(this.saldo >= valor) {
            this.saldo -= valor;
            return true;
        }

        else {
            return false;
        }    
3 respostas

Oi Hellen, tudo bem?

Quando declaramos um atributo como privado, como é o caso do private double saldo, estamos dizendo que apenas quem pertence à própria classe pode acessá-lo.

Nesse caso, os métodos saca() e deposita() são métodos da mesma classe, portando eles podem acessar os atributos saldo e titular se problemas!

Espero ter ajudado, se ficou qualquer dúvida estou aqui!

Bons estudos!!

Olá, Hellen!

Esses métodos "deposita" e "saca" pertencem à classe Conta, assim como o atributo saldo.

Definir saldo como um atributo privado vai restringir o acesso para outras classes que tentem acessar ele diretamente, mas a classe que possui o atributo, no caso Conta, continua tendo acesso.

O uso dos métodos get e set permitem que você tenha controle de como outras classes vão usar aquela que você está desenvolvendo, permitindo o encapsulamento (que é um dos princípios da Orientação a Objetos).

Ah, faz todo sentido! Acho que acabei me prendendo demais à nomenclatura dos getters e setters, como se eles fossem base pra tudo que é feito ali. Obrigada, rapazes!