Sobes.tech
Junior — Middle

Pouvez-vous expliquer le principe d'encapsulation et comment il est réalisé en programmation orientée objet?

sobes.tech IA

Réponse de l'IA

L'encapsulation est un principe de la programmation orientée objet qui consiste à cacher l'implémentation interne d'un objet et à fournir l'accès aux données et méthodes uniquement via une interface définie.

Cela permet :

  • Protéger les données contre une utilisation incorrecte
  • Cacher la complexité de l'implémentation
  • Assurer le contrôle sur la modification de l'état de l'objet

Dans les langages orientés objet, l'encapsulation est réalisée à l'aide de modificateurs d'accès (par exemple, private, protected, public), qui déterminent quels champs et méthodes sont accessibles de l'extérieur.

Exemple en Go (où l'encapsulation est atteinte par des identifiants exportés et non exportés) :

type User struct {
    name string // champ non exporté, accessible uniquement dans le paquet
}

func (u *User) GetName() string {
    return u.name // méthode publique pour accéder au nom
}

func (u *User) SetName(newName string) {
    if newName != "" {
        u.name = newName
    }
}

Ici, le champ name est caché de l'accès externe, et l'interaction avec lui se fait via les méthodes GetName et SetName, qui contrôlent la logique d'accès et de modification.