Дрон Кодер — программирование для детей и взрослых в игровой форме. Начать бесплатно

Инкапсуляция для новичка

Инкапсуляция — это идея прятать внутренние данные объекта и давать к ним доступ только через методы. Разберём зачем.

Что это значит

Объект хранит данные внутри и не даёт менять их как попало извне. Вместо прямого доступа предлагаются методы: например, не менять баланс напрямую, а вызывать deposit() и withdraw(). Так объект контролирует своё состояние.

Зачем прятать данные

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

Подчёркивание в именах

В Python нет жёсткой защиты, но есть договорённость: имя с подчёркиванием в начале (_balance) значит «внутреннее, снаружи не трогать». Это сигнал другим программистам, а не запрет. Инкапсуляция в Python держится на уважении к таким соглашениям.

Частые вопросы

Python реально запрещает доступ? Нет, подчёркивание — соглашение, а не жёсткая защита.

Зачем методы вместо прямого доступа? Чтобы объект проверял данные и оставался в корректном состоянии.

Начать игру бесплатно
Попробуй прямо здесь
Уровень 1

Задание