Sobes.tech
Junior — Middle

Explique la finalité et l'utilisation du modificateur d'accès protected en programmation orientée objet.

sobes.tech IA

Réponse de l'IA

Le modificateur d’accès protected en programmation orientée objet limite l’accès aux membres d’une classe (champs, méthodes) de manière à ce qu’ils soient accessibles :

  • À l’intérieur de la classe elle-même,
  • Dans les classes dérivées,
  • Dans le même paquet (dans les langages qui ont la notion de paquet, par exemple Java).

Cela permet de cacher les détails d’implémentation du monde extérieur, tout en permettant aux sous-classes d’utiliser et de redéfinir ces membres.

Exemple en Java :

public class Animal {
    protected void makeSound() {
        System.out.println("Un son");
    }
}

public class Dog extends Animal {
    @Override
    protected void makeSound() {
        System.out.println("Aboyer");
    }
}

Ici, la méthode makeSound est accessible dans la classe Dog, mais pas dans d’autres classes qui ne sont pas héritées.