Sobes.tech
Junior — Middle

Puteți explica conceptul de încapsulare în programarea orientată pe obiecte?

sobes.tech AI

Răspuns de la AI

Încapsularea este un principiu al programării orientate pe obiecte, care constă în combinarea datelor (proprietăților) și a metodelor care lucrează cu aceste date în interiorul unui singur obiect sau clasă. Aceasta permite ascunderea stării interne a obiectului și oferirea accesului la acesta doar prin metode specifice (getteri și setteri), ceea ce protejează datele de modificări directe din exterior.

De exemplu, în JavaScript, se poate crea o proprietate privată folosind un simbol sau urmând o convenție cu underscore:

class User {
  #password; // câmp privat

  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); // Eroare, acces interzis
console.log(user.checkPassword('12345')); // true

Astfel, încapsularea ajută la controlul accesului la date, crește securitatea și simplifică întreținerea codului.