Retour au cours

Pillier 1 de l'OOP : Encapsulation (Modificateurs d'accès : public, private)

Maîtrise de Java : De Zéro à Développeur Professionnel (Un parcours en 50 leçons)

Leçon 18 : Pillier 1 de l'OOP : Encapsulation

L'Encapsulation est le mécanisme consistant à regrouper les données (variables) et le code agissant sur ces données (méthodes) au sein d'une seule unité (la classe). Elle implique de restreindre l'accès direct aux composants.

Le principe de masquage des données

Nous parvenons à l'encapsulation principalement grâce aux modificateurs d'accès, qui contrôlent la visibilité et l'accessibilité.

Modificateurs d'accès en Java

ModificateurVisible dans la ClasseVisible dans le PackageVisible hors du Package (Sous-classe)Visible Partout
privateOuiNonNonNon
(Par défaut/Package)OuiOuiNonNon
protectedOuiOuiOuiNon
publicOuiOuiOuiOui

Implémentation de l'encapsulation

La pratique courante consiste à déclarer toutes les variables d'instance comme private pour masquer les données internes et empêcher toute modification non autorisée.

java public class Account { // Les données sont masquées (private) private double balance = 0.0;

// Cette méthode est le seul moyen de modifier le solde
public void deposit(double amount) {
    if (amount > 0) {
        balance += amount;
        System.out.println("Dépôt réussi.");
    } else {
        System.out.println("Le montant du dépôt doit être positif.");
    }
}

// Méthode pour lire les données
public double getBalance() {
    return balance;
}

}

// Exemple d'utilisation : Account myAccount = new Account(); // myAccount.balance = -100; // ERREUR ! Impossible d'accéder au champ privé myAccount.deposit(500.0); // OK, accès contrôlé par la méthode deposit

Avantage : L'encapsulation nous permet de garder le contrôle sur l'état de l'objet, de valider les entrées et de modifier l'implémentation interne sans affecter le code externe qui utilise la classe.