Sobes.tech
Back to questions
Junior — Middle
74

Как объявляется и используется приватный параметр в объектно-ориентированном языке программирования?

Answer from AI

sobes.tech AI

В Python приватные параметры (атрибуты) в классах объявляются с использованием двойного подчеркивания в начале имени, например __param. Это вызывает механизм name mangling, который изменяет имя атрибута, делая его менее доступным извне.

Пример:

class MyClass:
    def __init__(self):
        self.__private_param = 42  # приватный параметр

    def get_private_param(self):
        return self.__private_param

obj = MyClass()
print(obj.get_private_param())  # 42
# print(obj.__private_param)  # вызовет ошибку AttributeError

Хотя прямой доступ к __private_param снаружи невозможен, его можно получить через имя _MyClass__private_param, но это считается плохой практикой. Такой подход помогает инкапсулировать данные и защитить их от случайного изменения извне.