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

Когда нужно использовать защищённые данные с точки зрения архитектуры

Защищённые данные (protected) в Python (с одним подчёркиванием _var) следует использовать, когда:

  1. Внутренняя реализация класса – атрибут/метод нужен для работы класса, но не является частью публичного API.
  2. Наследование – подклассы могут использовать/переопределять эти атрибуты, но внешний код не должен к ним обращаться напрямую.
  3. Предупреждение разработчиков – сигнал, что атрибут не предназначен для внешнего использования.

Пример:

python
class Base:
    def __init__(self):
        self._internal_data = 42  # защищённый атрибут

    def _helper_method(self):     # защищённый метод
        return self._internal_data * 2

class Derived(Base):
    def use_protected(self):
        return self._helper_method()  # корректное использование в подклассе

Важно: защищённые данные – соглашение, а не строгая защита (интерпретатор не блокирует доступ). Для настоящей инкапсуляции используйте @property или двойное подчёркивание (__private).

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

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

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

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