Sobes.tech
Junior — Middle

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

sobes.tech AI

Отговор от AI

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

Например, клас може да има частно поле, до което не може да се достъпва директно, а достъпът до него се осъществява чрез публични методи:

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

    public void setPassword(String password) {
        // може да се добави проверка за сложността на паролата
        this.password = password;
    }

    public String getPassword() {
        return "****"; // не връщаме реалната парола
    }
}

По този начин, инкапсулацията помага да се повиши сигурността и устойчивостта към грешки в кода.