Mas se eu tirar o setSaldo, como vou saber qual o saldo inicial da conta? Como será colocado o valor do saldo inicial?
Mas se eu tirar o setSaldo, como vou saber qual o saldo inicial da conta? Como será colocado o valor do saldo inicial?
Oi, Lucas! Tudo bem?
Quando trabalhamos com encapsulamento, a ideia é proteger o estado interno do objeto, evitando que ele seja alterado de maneira inadequada.
Para definir o saldo inicial de forma segura, uma prática comum é utilizar um construtor na classe Conta
. Dessa forma, você pode definir o saldo inicial no momento da criação do objeto, garantindo que ele seja configurado apenas uma vez, de forma controlada. Veja um exemplo de como você poderia fazer isso:
public class Conta {
private int numero;
private int agencia;
private double saldo;
// Construtor para definir o saldo inicial
public Conta(int numero, int agencia, double saldoInicial) {
this.numero = numero;
this.agencia = agencia;
this.saldo = saldoInicial;
}
public void deposita(double valor) {
saldo += valor;
}
public void saca(double valor) {
if (valor <= saldo) {
saldo -= valor;
} else {
System.out.println("Saldo insuficiente.");
}
}
public int getNumero() {
return numero;
}
public int getAgencia() {
return agencia;
}
public double getSaldo() {
return saldo;
}
}
Com esse construtor, ao criar uma nova instância de Conta
, você pode definir o saldo inicial, por exemplo:
Conta minhaConta = new Conta(1234, 5678, 1000.0);
Assim, você garante que o saldo inicial é definido apenas uma vez e de maneira controlada, respeitando o princípio do encapsulamento.
Espero ter ajudado e bons estudos!