Sobes.tech
Junior — Middle

Pouvez-vous expliquer le concept d'encapsulation 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 à regrouper les données (propriétés) et les méthodes qui manipulent ces données à l'intérieur d'un même objet ou classe. Elle permet de cacher l'état interne de l'objet et de n'y accéder que via des méthodes spécifiques (getters et setters), ce qui protège les données contre les modifications directes depuis l'extérieur.

Par exemple, en JavaScript, on peut créer une propriété privée à l'aide d'un symbole ou suivre une convention avec un underscore :

class User {
  #password; // champ privé

  constructor(name, password) {
    this.name = name;
    this.#password = password;
  }

  checkPassword(input) {
    return input === this.#password;
  }
}

const user = new User('Alice', '12345');
console.log(user.name); // Alice
console.log(user.#password); // Erreur, accès interdit
console.log(user.checkPassword('12345')); // true

Ainsi, l'encapsulation aide à contrôler l'accès aux données, augmente la sécurité et facilite la maintenance du code.