Junior
Proqramlaşdırmada çox formallıq nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Polimorfizm — bu müxtəlif siniflərdən olan obyektlərin eyni mesajlara (metod çağırışlarına) fərqli cavab vermək qabiliyyətidir.
Sadə desək, eyni metod, onu çağıran obyektə görə fərqli davranış göstərə bilər. Bu, irsiyyət və metodların yenidən təyin olunması, həmçinin interfeyslər vasitəsilə əldə edilir.
Swift-də nümunə:
protocol Animal {
func makeSound()
}
class Dog: Animal {
func makeSound() {
print("Hau")
}
}
class Cat: Animal {
func makeSound() {
print("Miyav")
}
}
func playSound(animal: Animal) {
animal.makeSound()
}
let dog = Dog()
let cat = Cat()
playSound(animal: dog) // Çıxış: Hau
playSound(animal: cat) // Çıxış: Miyav
Burada, playSound funksiyası Animal tipində obyekt qəbul edir, amma konkret sinfə (Dog və ya Cat) görə, müvafiq makeSound metodunun tətbiqi çağırılır.