Você está na página 1de 5

Introdução

Tal como Abstração, Herança e Polimorfismo o Encapsulamento é um pilar fundamental da


POO, ou seja, o Encapsulamento faz parte dos quatros pilares mais importantes da
programação orientada a objectos. Sendo Assim para compreender a POO precisamos
primeiro compreender os 4 pilares da poo e neste trabalho abordaremos sobre o
Encapsulamento.
Por meio dele, é possível simplificar bastante a programação, bem como proteger
informações sigilosas ou sensíveis. Dominar esse conceito é fundamental, uma vez que com
ele é possível deixar o código mais legível, funcional e reutilizável.

1
Desenvolvimento
O Encapsulamento é o princípio da programação orientada a objectos( POO ) que envolve
separar o programa em partes, a ideia é tornar o software mais flexível, fácil de modificar e
de criar novas implementações.
O seu objectivo na POO é de proteger detalhes internos de uma determinada classe,
fornecendo assim uma camada de segurança ao restringir o acesso directo aos seus
membros. Isso ajuda a evitar manipulação indevidas e garantir a consistência dos dados.
O Encapsulamento promove a modulariedade, pois permite que a implementação interna
de uma classe seja alterada sem afetar o código que a utiliza. Isso facilita na manutenção do
sistema e favorece o desenvolvimento mais robusto e flexível.
A palavra Encapsulamento vem de Encapsulos que em programação orientada a objectos “
Programar o mais isolado possível “.
O Encapsulamento protege o acesso directo ( Referência ) aos atributos de uma instância
fora da classe onde estes foram declarados. Esta proteção consiste em usar modificadores
de acesso aos restritos sobre os atributos definidos da classe. Depois devem ser criados
métodos para manipular de forma indireta os atributos da classe.
Na prática, isso é feito por meio de dois métodos: os getters e os setters. O primeiro tem
por objetivo retornar o valor que lhe foi pedido, mas de forma a não prejudicar a integridade
do dado em si.
Getters e Setters: São usados para proteger seus dados, especialmente na criação de
classes. Para cada instância de variável, um método getter retorna seu valor, enquanto um
método setter o define ou atualiza.

Níveis de acesso
Os níveis de acesso são responsáveis por informar qual o tipo de permissão de um
determinado atributo. Nesse sentido, existem três níveis, que são:

Público: consiste no nível de proteção mais baixo de todos, uma vez que todas as classes de
um programa podem acessar os dados e os métodos livremente. Pode-se dizer que, nesse
caso, não existe encapsulamento;
Protegido: nesse nível, o acesso passa a ser mais restrito. Somente as classes derivadas da
original é que têm total acesso aos atributos e métodos. Aqui, já existe encapsulamento, de
modo que os métodos get e set passam a ser usados, bem como na declaração do atributo
usa-se o private em vez do public;
Private: aqui, o acesso aos dados é feito somente dentro da própria classe onde ela foi
declarada.

2
Por fim, entendemos que o nível protegido está diretamente ligado ao conceito de herança.
Este, por sua vez, assim como o encapsulamento, é um dos pilares da orientação a objetos.
Vantagens:
Manutenção de código
Depois de pronto, todo código, principalmente os mais extensos, são propensos a sofrer
manutenções.
Com o encapsulamento, isso passa a ser mais fácil, uma vez que, com a devida proteção de
acesso aos dados, a pessoa programadora achará mais rápido algum ponto onde o código
precisa ser melhorado.
Sem o encapsulamento, seria bem difícil encontrar os pontos de inconsistência do código.
Reuso de código
É praticamente impossível falar em reuso de código sem citar os padrões de projeto. Por
meio destes, diversas aplicações passaram a ser desenvolvidas de forma mais rápida e
eficiente.
Com o encapsulamento, o programa terá mais chances de ter o código reaproveitado em
outros projetos, poupando bastante tempo da equipe de desenvolvimento.

Desenvolvimento acelerado e simplificado


O encapsulamento transforma a implementação de alguns códigos em uma espécie de caixa
preta. Na prática, isso significa que as classes externas não precisam acessar alguns dados de
forma direta. Assim, o desenvolvimento dos sistemas passa a ficar simplificado e acelerado.
Além de ser um dos pilares da orientação a objetos, o encapsulamento é útil na hora de
simplificar a programação, bem como proteger os dados sensíveis ou sigilosos. Também é
importante frisar que o desenvolvimento das aplicações passa a ficar mais ágil e com
possibilidade de reuso.

Desvantagens:
1- complexidade adicional de acesso aos membros privados e a necessidade de
métodos de acesso.
2- O encapsulamento pode levar a um aumento na complexidade do código, tornando-
o mais difícil de entender e manter. Além disso, a rigidez associada aos membros
privados pode tornar as alterações na implementação mais complicadas.

3
Exemplos:
1. Uma classe “Pessoa” com atributos privados como nome, idade e altura, com métodos getters e
setters para acessá-los.

2. Uma classe “ContaBancaria” com atributos privados como saldo e limite, com métodos para
depositar, sacar e consultar saldo.

3. Uma classe “Carro” com atributos privados como velocidade e marcha, com métodos para
acelerar, frear e trocar de marcha.

4. Uma classe “Produto” com atributos privados como preço e quantidade em estoque, com
métodos para atualizar o preço e controlar o estoque.

5. Uma classe “Animal” com atributos privados como espécie e idade, com métodos para alterar a
espécie e calcular a idade em anos humanos.

6. Uma classe “Funcionario” com atributos privados como nome, salário e cargo, com métodos para
calcular o salário líquido e alterar o cargo.

7. Uma classe “Círculo” com atributos privados como raio e área, com métodos para calcular a área e
alterar o raio.

8. Uma classe “Livro” com atributos privados como título, autor e número de páginas, com métodos
para obter informações do livro e atualizar o número de páginas.

9. Uma classe “Aluno” com atributos privados como nome, matrícula e notas, com métodos para
calcular a média das notas e atualizar as notas.

Usamos o encapsulamento nestes casos para garantir a integridade dos dados e controlar o acesso a
eles. Isso evita que os atributos sejam modificados de forma incorreta ou indevida, permitindo que
sejam realizadas validações e implementadas regras específicas nos métodos getters e setters. Além
disso, o encapsulamento ajuda a ocultar os detalhes internos da implementação da classe,
facilitando a manutenção e evolução do código.

4
Conclusão
O Encapsulamento é fundamental na POO por diversos motivos, Ele promove a segurança,
ao controlar acesso aos dados evitando modificações indevidas, contribui muito para o
gerenciamento e modulariedade do código. Em resumo o encapsulamento é uma peça
chave para construir sistemas mais seguros, flexíveis e fáceis de gerenciar.

Você também pode gostar