Sobes.tech
Back to questions
Junior — Middle
62

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

Answer from AI

sobes.tech AI

Принцип инкапсуляции в Python часто реализуется с помощью скрытия внутренних данных и предоставления доступа к ним через методы класса. Например, можно сделать атрибуты приватными (с помощью двойного подчеркивания) и управлять доступом через геттеры и сеттеры.

Пример:

class BankAccount:
    def __init__(self, balance):
        self.__balance = balance  # приватный атрибут

    def deposit(self, amount):
        if amount > 0:
            self.__balance += amount

    def withdraw(self, amount):
        if 0 < amount <= self.__balance:
            self.__balance -= amount

    def get_balance(self):
        return self.__balance

account = BankAccount(1000)
account.deposit(500)
account.withdraw(200)
print(account.get_balance())  # 1300

Таким образом, внутреннее состояние объекта защищено от прямого изменения извне, что обеспечивает контроль и безопасность данных.