Junior — Middle
66
Какие основные требования предъявляются к реализации принципа полиморфизма в объектно-ориентированном программировании?
Answer from AI
sobes.tech AI
Полиморфизм в объектно-ориентированном программировании означает способность объектов разных классов реагировать на одинаковые сообщения (вызовы методов) по-разному. Основные требования к реализации полиморфизма:
- Наследование: базовый класс определяет интерфейс (набор методов), который наследники могут переопределять.
- Переопределение методов: подклассы реализуют свои версии методов базового класса.
- Единый интерфейс: объекты разных классов можно использовать через ссылку на базовый класс или интерфейс.
- Динамический (рантайм) вызов методов: выбор конкретной реализации метода происходит во время выполнения, а не на этапе компиляции.
Пример на Python:
class Animal:
def speak(self):
pass
class Dog(Animal):
def speak(self):
return "Гав"
class Cat(Animal):
def speak(self):
return "Мяу"
animals = [Dog(), Cat()]
for animal in animals:
print(animal.speak()) # Вызывает соответствующий метод в зависимости от типа объекта