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

Верно ли, что инкапсуляция - четкое разделение сущности на интерфейс и детали реализации, связанные с интерфейсом

Да, это верное определение. Инкапсуляция в Python подразумевает:

  1. Сокрытие внутренней реализации – защита данных и методов класса от внешнего вмешательства.
  2. Предоставление интерфейса – публичные методы для взаимодействия с объектом.

Хотя Python не имеет строгих модификаторов доступа (private, public), соглашение об именовании помогает:

  • _var – "protected" (условно приватный, но доступен).
  • __var – "private" (искажение имени, но не полная защита).

Пример:

python
class BankAccount:
    def __init__(self, balance):
        self.__balance = balance  # Инкапсулированное поле

    def deposit(self, amount):    # Публичный интерфейс
        if amount > 0:
            self.__balance += amount

    def get_balance(self):        # Контролируемый доступ
        return self.__balance

Здесь __balance скрыт, а методы deposit и get_balance – часть интерфейса.

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

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

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

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