ИНКАПСУЛЯЦИЯ В PYTHON
В Python инкапсуляция является одним из механизмов, который позволяет скрыть определенные детали реализации от пользователей класса. Это достигается путем создания атрибутов и методов, которые недоступны извне объекта.
Для ограничения доступа к атрибутам и методам класса в Python используются два подчиненных символа - одинарное подчеркивание и двойное подчеркивание перед именем атрибута или метода. Один подчеркивание перед именем атрибута или метода обозначает, что он должен быть рассматриваться как "защищенный" и не должен использоваться вне класса, хотя он доступен
Пример класса, демонстрирующего инкапсуляцию в Python:
class MyClass: def __init__(self): self.public_attr = "Я общедоступен" self._protected_attr = "Меня можно вызвать внури класса" self.__private_attr = "Я нерукожопный, со мной можно взаимодействовать только внутри класса, и внутри подклассов" def public_method(self): return "Я общедоступный метод" def _protected_method(self): return "Может быть вызван внутри класса или подкласса" def __private_method(self): return "Я нерукожопный метод, со мной можно взаимодействовать только внутри класса, и внутри подклассов"
В примере выше public_attr и public_method доступны из любой точки приложения. _protected_attr и _protected_method доступны только внутри класса, а __private_attr и __private_method - приватны и могут быть вызваны только внутри класса.
Принципы ООП. 1. Инкапсуляция
ТВОЯ ГЛАВНАЯ ОШИБКА В ООП
Инкапсуляция в Python (и не только)
Инкапсуляция в Python - Базовый курс. Программирование на Python
ИНКАПСУЛЯЦИЯ В ООП ПИТОНА
Уроки Python с нуля / #19 – Наследование, инкапсуляция, полиморфизм
Новые материалы: