Encapsulamento
Definição
Encapsulamento é um princípio da programação orientada a objetos que consiste em ocultar os detalhes internos de uma classe, expondo apenas o necessário por meio de interfaces públicas — como métodos ou propriedades.
O objetivo é proteger o estado interno do objeto e garantir que ele só seja acessado ou modificado de forma controlada.
Objetivo e benefícios
O encapsulamento contribui para um código mais seguro, modular e de fácil manutenção. Ao restringir o acesso direto aos atributos, evita-se alterações indevidas e reduz-se o acoplamento entre partes do sistema.
Além disso, ele favorece a separação de responsabilidades e torna o comportamento das classes mais previsível e controlado.
Como aplicar / Mecanismos de suporte
Linguagens como Java, C#, C++, TypeScript oferecem
modificadores de acesso como private
,
protected
e public
. Já em linguagens como
Python e Ruby, o encapsulamento é
baseado em convenções de nomenclatura, como prefixos _
ou
__
para indicar atributos não acessíveis diretamente.
Exemplo em código (Python)
class Conta:
def __init__(self, saldo):
self.__saldo = saldo # atributo privado
def depositar(self, valor):
if valor > 0:
self.__saldo += valor
def obter_saldo(self):
return self.__saldo
c = Conta(100)
c.depositar(50)
print(c.obter_saldo()) # 150
No exemplo acima, o atributo __saldo
é encapsulado: ele não
pode ser acessado diretamente de fora da classe. Toda modificação e
leitura são feitas por métodos que controlam a lógica de acesso.
Riscos ou mau uso comum
Expor atributos diretamente (por exemplo, conta.saldo = ...
)
quebra o encapsulamento e aumenta o risco de inconsistências. Outro erro
comum é concentrar muita responsabilidade em uma única classe — mesmo que
os atributos estejam protegidos, a coesão do código pode estar
comprometida.