Encapsulamento significa combinar dados e funções que funcionam nesses dados em uma única unidade, como uma classe. Em Programação Orientada a Objetos ajuda a manter as coisas organizadas e seguras.
- Uma classe pode ocultar a parte de implementação e divulgar apenas as funcionalidades exigidas por outras classes. Ao tornar os dados e métodos da classe privados, as representações ou implementações podem ser alteradas posteriormente sem impactar os códigos que usam esta classe.
- Ajuda na melhor facilidade de manutenção, legibilidade e usabilidade. Também ajuda a manter a integridade dos dados, permitindo validação e controle sobre os valores atribuídos às variáveis.
EncapsulamentoImplementação de encapsulamento em Java
- Declarar dados como privados: Oculte os dados da turma para que não possam ser acessados diretamente de fora da turma.
- Use getters e setters: Mantenha as variáveis privadas e forneça métodos getter e setter públicos para acesso controlado e modificação segura, muitas vezes com validação.
- Aplique modificadores de acesso adequados: Use private para ocultar dados e public para métodos que fornecem acesso.
class Programmer { private String name; // Getter method used to get the data public String getName() { return name; } // Setter method is used to set or modify the data public void setName(String name) { this.name = name; } } public class Geeks { public static void main(String[] args){ Programmer p = new Programmer(); p.setName('Geek'); System.out.println('Name=> ' + p.getName()); } }
Saída
Name=> Geek
Explicação: No exemplo acima usamos o encapsulamento e usamos getter ( getNome) e levantador ( definirNome) método que é usado para mostrar e modificar os dados privados. Este mecanismo de encapsulamento protege o estado interno do objeto Programmer e permite melhor controle e flexibilidade na forma como o atributo name é acessado e modificado.
programação stdin c
Vantagens do encapsulamento
As vantagens do encapsulamento estão listadas abaixo:
- Ocultação de dados: O encapsulamento restringe o acesso direto às variáveis de classe, protegendo dados confidenciais contra acesso não autorizado.
- Maior capacidade de manutenção: Alterações na implementação interna podem ser feitas sem afetar o código externo que utiliza a classe.
- Segurança aprimorada: O encapsulamento permite a validação e o controle dos dados, evitando a definição de valores inválidos ou prejudiciais.
- Reutilização de código: Classes encapsuladas podem ser reutilizadas em diferentes programas sem expor a lógica interna.
- Melhor modularidade: O encapsulamento promove código modular organizado, mantendo dados e métodos juntos em uma classe.
Desvantagens do encapsulamento
As desvantagens do encapsulamento estão listadas abaixo:
- Maior complexidade de código: Escrever métodos getter e setter para cada variável pode tornar o código mais longo e um pouco mais complexo.
- Sobrecarga de desempenho: Acessar dados por meio de métodos, em vez de diretamente, pode apresentar um pequeno custo de desempenho, especialmente em aplicativos de desempenho crítico.
- Menos flexibilidade em alguns casos: Restringir excessivamente o acesso aos membros da classe pode limitar a capacidade de outras classes de estender ou usar a classe de forma eficiente.