Sobes.tech
Назад к вопросам
Junior — Middle
115

Можешь перечислить и описать магические методы, используемые в объектно-ориентированном программировании?

Компании, где спрашивали
РостелекомРостелеком
IT OneIT One

Ответ от нейросети

sobes.tech AI

Магические методы — это специальные методы в объектно-ориентированном программировании, которые автоматически вызываются в определённых ситуациях. В разных языках они могут называться по-разному, но общие примеры:

  • Конструктор — вызывается при создании объекта, инициализирует его.
  • Деструктор — вызывается при уничтожении объекта (например, в C++).
  • Метод преобразования в строку (например, __toString() в PHP, toString() в Java) — возвращает строковое представление объекта.
  • Операторы перегрузки (например, в Python __add__, __eq__) — позволяют определить поведение операторов для объектов.
  • Методы доступа к свойствам (например, __get, __set в PHP) — вызываются при чтении или записи свойств.

Пример в Python:

class MyClass:
    def __init__(self, value):
        self.value = value

    def __str__(self):
        return f"MyClass with value {self.value}"

    def __add__(self, other):
        return MyClass(self.value + other.value)

Здесь __init__ — конструктор, __str__ — строковое представление, __add__ — перегрузка оператора сложения.