Назад к вопросам
Ростелеком
IT One
Junior — Middle
115
Можешь перечислить и описать магические методы, используемые в объектно-ориентированном программировании?
Компании, где спрашивали
Ответ от нейросети
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__ — перегрузка оператора сложения.