Sobes.tech
Junior — Middle

Обяснете концепцията за инкапсулация в обектно-ориентираното програмиране и защо е важна?

sobes.tech AI

Отговор от AI

Капсулацията е принцип на обектно-ориентираното програмиране, който включва скриване на вътрешната реализация на обекта и предоставяне на достъп до данните само чрез определени методи (getter-и и setter-и). Това позволява да се защити състоянието на обекта от неправилни промени и да се намали свързаността между компонентите.

Защо е важно:

  • Осигурява контрол върху промяната на данните.
  • Улеснява поддръжката и модифицирането на кода, тъй като вътрешните детайли са скрити.
  • Повишава сигурността и надеждността на програмата.

Пример на C#:

class User {
    private string password; // скрито поле

    public void SetPassword(string pwd) {
        if (pwd.Length >= 8) {
            password = pwd;
        } else {
            throw new ArgumentException("Много кратка парола");
        }
    }

    public bool CheckPassword(string pwd) {
        return password == pwd;
    }
}