Назад к вопросам
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 — это соглашение, а не строгий механизм контроля доступа.