Sobes.tech
Назад к вопросам
Junior — Middle
59

Каким образом можно обратиться к члену класса с уровнем доступа protected в объектно-ориентированном программировании?

Ответ от нейросети

sobes.tech AI

В Python уровень доступа protected реализуется условно: имя члена класса начинается с одного подчёркивания _, что сигнализирует о том, что этот член предназначен для использования внутри класса и его подклассов.

Обратиться к такому члену можно напрямую через объект или внутри подкласса, но по соглашению это считается "защищённым" и не рекомендуется использовать вне иерархии классов.

Пример:

class Base:
    def __init__(self):
        self._protected_member = 42

class Derived(Base):
    def print_protected(self):
        print(self._protected_member)  # доступ к protected члену

obj = Derived()
obj.print_protected()  # выводит 42

# Вне класса доступ возможен, но не рекомендуется:
print(obj._protected_member)  # работает, но считается плохой практикой

Таким образом, protected в Python — это соглашение, а не строгий механизм контроля доступа.