Sobes.tech
Intern

Qual é o significado da encapsulação?

sobes.tech IA

Resposta da IA

A essência da encapsulação em Java consiste em ocultar os detalhes de implementação de uma classe e fornecer acesso controlado aos seus dados através de métodos públicos.

Isto é conseguido por:

  • Declarar os campos da classe como private: Isto torna-os inacessíveis diretamente de fora da classe.
  • Fornecer métodos públicos (getters e setters): Através destes métodos, pode-se obter e modificar os valores dos campos, e nos setters pode-se adicionar lógica para verificar a correção dos dados.

Vantagens:

  • Controle de acesso: Permite gerir como os dados da classe são utilizados e modificados.
  • Flexibilidade: A implementação interna da classe pode ser alterada sem afetar o código que a utiliza (pois a interação ocorre através de uma interface pública).
  • Proteção dos dados: Impede acessos e modificações não autorizados ou incorretos.
  • Redução da complexidade: Ocultando os detalhes internos, facilita a compreensão e o uso da classe.

Exemplo:

class Car {
    private String model; // Campo privado

    public String getModel() { // Getter para acesso ao model
        return model;
    }

    public void setModel(String model) { // Setter para modificar o model com validação
        if (model != null && !model.isEmpty()) {
            this.model = model;
        } else {
            System.out.println("Modelo incorreto!");
        }
    }
}