Junior
Czym jest polimorfizm w programowaniu?
sobes.tech AI
Odpowiedź od AI
Polimorfizm to zdolność obiektów różnych klas do reagowania na te same wiadomości (wywołania metod) w różny sposób.
Mówiąc prościej, ta sama metoda może zachowywać się inaczej w zależności od obiektu, który ją wywołuje. Osiąga się to poprzez dziedziczenie i nadpisywanie metod, a także poprzez użycie interfejsów.
Przykład w Swift:
protocol Animal {
func makeSound()
}
class Dog: Animal {
func makeSound() {
print("Hau")
}
}
class Cat: Animal {
func makeSound() {
print("Miau")
}
}
func playSound(animal: Animal) {
animal.makeSound()
}
let dog = Dog()
let cat = Cat()
playSound(animal: dog) // Wypisze: Hau
playSound(animal: cat) // Wypisze: Miau
Tutaj funkcja playSound przyjmuje obiekt typu Animal, ale w zależności od konkretnej klasy (Dog lub Cat) wywoływana jest odpowiednia implementacja metody makeSound.