1
resposta

Erro na questão

A questão em específico está com erro de resposta correta, a classe Conta não possui nenhum erro de encapsulamento. Há somente a possibilidade de erro de compilação, quando utilisarmos os métodos saca e deposita sem termos os valores do atributo saldo declarados anteriormente.

1 resposta

Olá, Johnatan! Tudo bem?

O conceito de encapsulamento em Orientação a Objetos visa proteger os dados internos de uma classe, permitindo que eles sejam acessados e modificados apenas por métodos específicos.

No seu exemplo, a classe Conta está encapsulada corretamente, exceto pelo método setSaldo. A presença desse método permite que o saldo da conta seja alterado diretamente, o que pode comprometer a integridade dos dados. Por exemplo, alguém poderia definir um saldo negativo ou alterar o saldo sem seguir as regras de negócio estabelecidas nos métodos saca e deposita.

A alternativa correta é a D: "A classe não deveria ter o método setSaldo". Isso porque, ao remover o método setSaldo, você garante que o saldo só pode ser modificado através dos métodos deposita e saca, que contêm a lógica necessária para manter a consistência dos dados.

Dessa forma, o saldo só pode ser alterado de maneira controlada, preservando a integridade da classe.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.