Встречается на собеседованиях • сегодня

Что такое инкапсуляция и как используются приватные методы

Инкапсуляция — это принцип ООП, который объединяет данные и методы работы с ними в одном классе, скрывая внутреннюю реализацию от внешнего вмешательства.

В Python инкапсуляция реализуется через:

  1. Приватные атрибуты и методы (с префиксом __):
    python
    class BankAccount:
        def __init__(self, balance):
            self.__balance = balance  # Приватный атрибут
        
        def __update_balance(self, amount):  # Приватный метод
            self.__balance += amount
        
        def deposit(self, amount):
            self.__update_balance(amount)
    • __balance и __update_balance недоступны напрямую извне (account.__balance вызовет ошибку).
    • Доступ возможен только через публичные методы класса (например, deposit).
  1. Защищённые атрибуты (с префиксом _): условно приватные, но доступны извне (соглашение, а не строгое ограничение).

Важно: Python не запрещает доступ к приватным членам на уровне синтаксиса, но искажает их имена (например, _BankAccount__balance), чтобы предотвратить случайные переопределения.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы