TheCodeNaked

Programação Orientada a Objetos - OOP - Parte 2 (Copy)

🧰 Encapsulamento no Motor: Nem Tudo Precisa Estar no Painel

No artigo anterior, usamos a estrutura de um carro para entender os conceitos de classe e objeto. Agora, vamos mergulhar em um dos pilares da Programação Orientada a Objetos (OOP): o encapsulamento.

Mas o que significa isso, afinal?


📦 O que é Encapsulamento?

Vamos começar pelo significado da palavra.

Encapsulamento vem de “encapsular”, que por sua vez deriva do latim capsula, diminutivo de capsa, que significa "caixa" ou "invólucro". No mundo da programação, encapsular significa colocar algo dentro de uma "cápsula" — protegê-lo do acesso direto.

Traduzindo: você esconde os detalhes internos do funcionamento de um objeto e oferece apenas o necessário para quem for usá-lo.


🔧 Motor: Um bom exemplo de encapsulamento

Vamos olhar para o motor de um carro. Ele é uma peça complexa, cheia de sensores, engrenagens, válvulas e circuitos eletrônicos.

O motorista não precisa (e nem deve) mexer diretamente nesses componentes internos. Tudo o que ele precisa é girar a chave (ou apertar um botão) para ligar o carro, e pressionar o acelerador para andar.

Isso é encapsulamento.

Você esconde os detalhes internos e expõe uma interface simples.


Exemplo em código Delphi:

type
  TMotor = class
  private
    FTemperaturaInterna: Double;
    function CalcularMisturaCombustivel: Double;
    procedure InjetarCombustivel;
  public
    procedure Ligar;
    procedure Acelerar;
    function GetRPM: Integer;
  end;
  • FTemperaturaInterna, CalcularMisturaCombustivel e InjetarCombustivel são privados – fazem parte da "engrenagem interna".
  • Ligar, Acelerar e GetRPM são públicos – são os comandos que o “motorista” pode usar.

👁️ Visibilidade: pública, privada, protegida...

Encapsulamento está diretamente ligado ao conceito de visibilidade:

TipoQuem pode acessar
privateApenas a própria classe
protectedA própria classe e suas descendentes
publicQualquer outro objeto
publishedComo public, mas com suporte a RTTI (Delphi)

Assim como em um carro, onde você não precisa ver os pistões funcionando, no código, você não precisa que tudo seja público. Expor só o necessário deixa o sistema mais seguro e mais fácil de manter.


🔒 Encapsular é proteger

Além de esconder complexidade, o encapsulamento:

  • Evita que outros objetos mexam em coisas que não deveriam.
  • Reduz erros, porque você controla os pontos de entrada e saída.
  • Permite mudar a parte interna da classe sem quebrar o restante do código.

🧠 Conclusão

O encapsulamento nos ensina uma lição importante: nem tudo precisa ser visível, e nem tudo precisa ser acessível. Assim como um motorista não precisa ajustar válvulas manualmente, seu código também deve proteger os detalhes internos e oferecer apenas uma interface clara e segura para o mundo externo.

No próximo artigo, vamos falar sobre herança: como criar diferentes tipos de carro a partir da mesma classe Carro, e por que isso ajuda a reutilizar código e manter a organização.

Sobre o autor

TheCodeNaked

No TheCodeNaked, programar é consequência, não ponto de partida. Antes do código, vem a dúvida, a análise, o contexto. Não seguimos fórmulas — questionamos. Criar software é pensar com clareza. O resto é só digitação.

TheCodeNaked

Criar com clareza. Codificar com intenção.

TheCodeNaked

Ótimo! Você se inscreveu com sucesso.

Bem-vindo de volta! Você acessou com sucesso.

Você se inscreveu com sucesso o TheCodeNaked.

Sucesso! Verifique seu e-mail para acessar com o link mágico.

As suas informações de faturamento foram atualizadas.

Seu pagamento não foi atualizado