Sobes.tech
Junior — Middle

Expliquez le concept d'encapsulation des données 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’état interne d’un objet et à n’y donner accès que via des méthodes (interface).

En Go, l’encapsulation est réalisée grâce à la visibilité des identifiants :

  • Les noms commençant par une majuscule sont exportés et accessibles depuis d’autres packages (publics).
  • Les noms commençant par une minuscule ne sont accessibles qu’à l’intérieur du package (privés).

Ainsi, pour encapsuler des données, il faut déclarer les champs de la structure avec une minuscule et fournir des méthodes pour y accéder et les modifier.

Exemple :

package user

type User struct {
    name string // champ privé
}

func NewUser(name string) *User {
    return &User{name: name}
}

func (u *User) GetName() string {
    return u.name
}

func (u *User) SetName(name string) {
    u.name = name
}

Cette approche permet de contrôler l’accès aux données, d’assurer leur intégrité et de modifier l’implémentation interne sans affecter le code externe.