Встречается на собеседованиях • сегодня

Какие знаешь требования в полиморфизме

Полиморфизм в Python реализуется через:

  1. Утиную типизацию - объекты должны поддерживать нужные методы/атрибуты, а не наследоваться от конкретного класса.
python
class Dog:
    def speak(self):
        return "Woof!"

class Cat:
    def speak(self):
        return "Meow!"

def animal_sound(animal):
    print(animal.speak())
  1. Переопределение методов - дочерние классы могут изменять поведение родительских методов.
python
class Bird:
    def fly(self):
        print("Flying")

class Penguin(Bird):
def fly(self):
print("Can't fly")

text
3. **Перегрузка операторов** - определение магических методов (`__add__`, `__str__` и т.д.).  
```python
class Vector:
    def __init__(self, x, y):
        self.x = x
        self.y = y
    
    def __add__(self, other):
        return Vector(self.x + other.x, self.y + other.y)
  1. Интерфейсы (ABC) - через abc.ABC и @abstractmethod можно задать обязательные методы.
python
from abc import ABC, abstractmethod

class Shape(ABC):
    @abstractmethod
    def area(self):
        pass
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы