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, което гарантира контрол върху състоянието на обекта.