Sobes.tech
Junior — Middle

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

sobes.tech AI

Отговор от AI

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

В iOS (Swift) капсулирането се постига чрез нива на достъп (private, fileprivate, internal, public, open). Например:

class BankAccount {
    private var balance: Double = 0.0

    func deposit(amount: Double) {
        if amount > 0 {
            balance += amount
        }
    }

    func getBalance() -> Double {
        return balance
    }
}

Тук balance е скрито от външен достъп и може да бъде променяно само чрез методите deposit и getBalance, което гарантира контрол върху състоянието на обекта.