Back to questions
Junior
183
Что такое полиморфизм в программировании?
Answer from AI
sobes.tech AI
Полиморфизм — это способность объектов разных классов реагировать на одинаковые сообщения (вызовы методов) по-разному.
Проще говоря, один и тот же метод может вести себя по-разному в зависимости от объекта, который его вызывает. Это достигается через наследование и переопределение методов, а также через использование интерфейсов.
Пример на Swift:
protocol Animal {
func makeSound()
}
class Dog: Animal {
func makeSound() {
print("Гав")
}
}
class Cat: Animal {
func makeSound() {
print("Мяу")
}
}
func playSound(animal: Animal) {
animal.makeSound()
}
let dog = Dog()
let cat = Cat()
playSound(animal: dog) // Выведет: Гав
playSound(animal: cat) // Выведет: Мяу
Здесь функция playSound принимает объект типа Animal, но в зависимости от конкретного класса (Dog или Cat) вызывается соответствующая реализация метода makeSound.