L’encapsulation est un principe fondamental de la programmation orientée objet qui consiste à masquer les détails internes d’un objet (ses attributs, sa logique interne) et à n’exposer que ce qui est strictement nécessaire à son utilisation via des méthodes publiques contrôlées.
Objectif :
Protéger l’intégrité de l’objet en empêchant les modifications arbitraires de son état, tout en offrant une interface stable et sécurisée.
Exemple (en pseudo-code) :
class CompteBancaire:
def __init__(self, solde_initial):
self.__solde = solde_initial # attribut privé (encapsulé)
def deposer(self, montant): # interface publique
if montant > 0:
self.__solde += montant
def obtenir_solde(self): # lecture contrôlée
return self.__solde
L’utilisateur ne peut pas modifier __solde directement : il doit passer par les méthodes définies.
Avantages :
- Réduction des bugs (état toujours cohérent)
- Facilité de maintenance (changement interne sans impacter l’extérieur)
- Sécurité accrue