O conceito de encapsulamento está intimamente ligado à segurança e à organização interna dos dados em POO, permitindo esconder os detalhes de implementação. Analise o código a seguir: public class Conta { private double saldo; public void depositar(double valor) { if (valor > 0) saldo += valor; } public double getSaldo() { return saldo; } } Assinale a alternativa que descreve corretamente uma característica do encapsulamento em Java.
Questão
O conceito de encapsulamento está intimamente ligado à segurança e à organização interna dos dados em POO, permitindo esconder os detalhes de implementação.
Analise o código a seguir:
public class Conta { private double saldo;
public void depositar(double valor) {
if (valor > 0) saldo += valor;
}
public double getSaldo() {
return saldo;
}
}
Assinale a alternativa que descreve corretamente uma característica do encapsulamento em Java.
Alternativas
a) O atributo saldo é público e acessível diretamente fora da classe.
b) O método depositar é responsável por criar novas instâncias de conta.
c) O encapsulamento permite que o saldo seja acessado somente por métodos definidos na própria classe.
d) getSaldo() invalida o princípio do encapsulamento ao expor o valor do atributo.
e) O método depositar deve, obrigatoriamente, retornar o novo saldo para manter o encapsulamento.
Explicação
No código, o atributo saldo foi declarado como private, ou seja, não pode ser acessado diretamente fora da classe Conta. Isso é a essência do encapsulamento: esconder o estado interno (dados) e permitir interação controlada por meio de métodos públicos.
- O método
depositar(double valor)controla a alteração do saldo, impondo uma regra (só aceita valores positivos). - O método
getSaldo()permite a leitura do valor, mas ainda assim o acesso ocorre de forma controlada, sem expor o atributo diretamente.
Assim, a característica correta é que o saldo só pode ser acessado/manipulado por métodos da própria classe (como getters/setters ou outros métodos de negócio).
Alternativa correta: (c).