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!");
}
}
}