Что такое методы объекта и какова их роль в ООП?

Ответ

Метод — это функция, принадлежащая классу и предназначенная для работы с данными его экземпляра (объекта). Основная роль методов — определять поведение объекта и обеспечивать взаимодействие с его состоянием (атрибутами).

Ключевые функции методов:

  • Изменение состояния: Методы могут изменять значения атрибутов объекта. Например, метод deposit() в классе BankAccount увеличивает баланс.
  • Выполнение операций: Они реализуют логику, связанную с объектом. Метод calculate_area() в классе Rectangle вычисляет его площадь на основе ширины и высоты.
  • Предоставление интерфейса: Методы служат публичным интерфейсом для взаимодействия с объектом, скрывая сложность внутренней реализации (принцип инкапсуляции).

Типы методов в Python:

  1. Методы экземпляра: Принимают self первым аргументом и работают с конкретным объектом.
  2. Методы класса: Помечаются декоратором @classmethod, принимают cls и работают с классом в целом.
  3. Статические методы: Помечаются @staticmethod, не зависят ни от класса, ни от экземпляра. Используются для вспомогательных функций, логически связанных с классом.

Пример:

class Counter:
    def __init__(self):
        self.count = 0  # Состояние объекта

    # Метод экземпляра для изменения состояния
    def increment(self):
        self.count += 1

    # Метод экземпляра для получения данных
    def get_value(self):
        return self.count

c = Counter()
c.increment() # Вызов метода изменяет внутреннее состояние
c.increment()
print(c.get_value()) # Вывод: 2