Junior
Какво е полиморфизъм в програмирането?
sobes.tech AI
Отговор от 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.