[POO] Aula 08 - Encapsulamento
A orientação a objetos é fundamentada por três pilares fundamentais: encapsulamento, polimorfismo e herança. Nesta aula vamos compreender o primeiro pilar, o encapsulamento.
Como a palavra diz, encapsular é colocar em uma capsula, ou
seja, tornar inacessível o conteúdo dentro da capsula. Assim nasce o conceito
de que todo objeto é uma “caixa preta”, assim não podemos acessar o seu
conteúdo, exceto se passarmos pelas regras definidas pelo mesmo.
1- O que é encapsular?
Encapsular é tornar o código dentro de uma classe acessível
ou inacessível para objetos fora da classe. A lógica que suporta este
comportamento é que cada classe deve ter um significado e por si só deve
descrever o comportamento de um objeto.
2 – Como encapsular
em Java?
Para realizar o encapsulamento das informações são
utilizados os modificadores de acesso: public, private, protected. A princípio
veremos o public e o private, veja as definições:
public – É visível fora da classe e pode ser acessado sem
restrições.
private – É invisível fora da classe e não pode ser acessado.
Já vimos que na construção de uma classe os atributos são
declarados da seguinte forma:
private int idade;
Isto significa que o atributo idade só é visível para os
métodos dentro da classe. Caso esse atributo fosse declarado como public, ele
seria visível a todos e qualquer um poderia alterá-lo.
Os métodos de uma classe também possuem os atributos de
visibilidade, por exemplo:
public void imprimirIdade(){
}
Isto significa que um
método pode também ser visível ou invisível fora de uma classe.
3 – Por que
encapsular?
O primeiro motivo da criação do encapsulamento é a
organização do código. Quando criamos classes, cada uma delas possui uma função
específica. Ou seja, elas descrevem um objeto específico, sendo assim, classes
coesas não realizam várias funções.
Por exemplo: A classe relógio deve apenas marcar as horas ou
então realizar ações pertinentes a classe relógio. Se esta classe for utilizada
para realizar outras funções diferentes do objetivo da sua criação, ela estará
com falta de coesão. Um problema bastante comum para programadores iniciantes.
Encapsular é sinônimo de esconder, isso é bom por que o que
é escondido também é protegido do uso indevido. Observe o exemplo a seguir:
Exemplo 01:
Existem diversas classes escritas por outros desenvolvedores
que são distribuídas aos programadores Java gratuitamente. No entanto, imagine
um serviço de e-mail em que ao construir a mensagem para envio, possibilita ao
usuário alterar o campo Remetente.
Parece algo bobo, porém com esse simples detalhe é possível
que pessoas mal-intencionadas enviem e-mails fraudulentos. Alguns fingem ser de
instituições financeiras e roubam senhas de banco, cartões e muito mais com um
simples e-mail.
Post a Comment