Что такое public-метод в ООП и каковы соглашения по его именованию в Python

Ответ

Public-метод (публичный) — это метод класса, который является частью его официального интерфейса (API) и доступен для вызова из любого места программы. Это основной способ взаимодействия с объектом.

Реализация в Python

В Python все методы по умолчанию являются публичными, если их имена не начинаются со специальных символов (подчеркиваний).

Ключевые характеристики:

  • Доступность: Можно вызывать извне класса, из дочерних классов и из самого класса.
  • Стабильность: Разработчик класса стремится сохранять обратную совместимость для публичных методов, так как на них полагается внешний код.
  • Именование: Для них не используется никаких специальных префиксов. Имена обычно состоят из слов в нижнем регистре, разделенных подчеркиваниями (стиль snake_case).

Пример

class UserAccount:
    def __init__(self, username):
        self.username = username
        self._is_active = True # "Защищенное" поле для внутреннего использования

    def get_username(self):
        # Публичный метод для получения данных
        return self.username

    def deactivate(self):
        # Публичный метод для изменения состояния
        self._is_active = False
        print(f"User {self.username} has been deactivated.")

user = UserAccount("john_doe")

# Прямой вызов публичных методов - стандартная практика
print(user.get_username())
user.deactivate()

В отличие от protected (_) и private (__) методов, публичные методы — это "входная дверь" в функциональность объекта.