Olá pessoal, neste artigo veremos os principais conceitos sobre Encapsulamento. Acompanhem:

Encapsulament é a técnica que faz com que detalhes internos do funcionamento dos métodos de uma classe permaneçam ocultos para os objetos. Por conta dessa técnica, o conhecimento a respeito da implementação interna da classe é desnecessário do ponto de vista do objeto, uma vez que isso passa a ser responsabilidade dos métodos internos da classe.

Assim que uma classe é criada, seu código e seus dados, os quais são chamados de membros da classe, são determinados. Esses dados recebem o nome de variáveis membro ou variáveis de instância. Já o código tem outra função de formar os métodos, os quais também podem ser denominados como métodos membro.

Os métodos presentes em um programa desenvolvido em C# são responsáveis por determinar a maneira como serão utilizadas as variáveis membro, o que indica que os métodos cuja função é operar sobre os dados de instância de uma classe determinam qual será a interface e o comportamento apresentados por ela.

Obs: Em um artigo futuro veremos os conceitos e exemplo prático sobre Interfaces.

Tendo em mente que os métodos e as variáveis de uma classe podem ser definidos como públicos ou privados, temos a seguinte situação:

  • Tudo o que o usuário externo precisa conhecer a respeito de uma classe encontra-se em propriedades ou métodos declarados como públicos (public).
  • Somente os códigos membros da classe são capazes de acessar seus métodos e variáveis privados. Isso garante que não ocorrerão ações inadequadas, mas exige que a interface pública seja planejada com cautela para que o funcionamento interno da classe não seja muito exposto.


Saiba mais: Encapsulamento, Polimorfismo, Herança em Java


Dito tudo isto, podemos concluir que a única forma de conhecer ou alterar os atributos de um objeto é por meio de seus métodos. Abaixo cito quatro vantagens do encapsulamento:

  • O objeto é disponibilizado ao usuário com toda a sua funcionalidade, sem a necessidade de conhecermos seu funcionamento ou armazenamento interno;
  • É possível modificar um objeto internamente, acrescentando métodos, sem que isto afete os outros componentes do sistema que utilizam o objeto modificado;
  • O processo de desenvolvimento de sistemas é acelerado e simplificado, já que os usuários dos objetos não precisam necessariamente saber como eles são constituídos internamente;
  • A implementação de um comportamento pode ser modificada radicalmente sem que haja impacto no resto do programa. Isto é possível porque o código que utiliza o objeto não depende da maneira que ele é implementado.


Saiu na DevMedia!

  • CSS Tutorial: da Sintaxe ao Flexbox:
    CSS é um item que não pode faltar na caixa de ferramentas de um programador web, pois é com ela que descrevemos para o navegador como os elementos em uma página serão apresentados para o usuário.
  • Guia de React Native: do Hello World ao CRUD:
    React é um framework JavaScript criado pelo Facebook para facilitar a construção de interfaces de usuário. React Native, da mesma empresa, nos permite criar aplicações mobile nativas utilizando JavaScript, na lógica, e React, para estruturar as views. No DevCast abaixo matamos a sua curiosidade sobre como isso tudo se parece na prática. Assista.
  • Guia de Levantamento de Requisitos:
    Nesta série, falamos sobre as técnicas, como conduzir uma reunião com o cliente e gerar os documentos mínimos necessários para o levantamento dos requisitos do software. Confira!

Saiba mais sobre Encapsulamento ;)