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.