Sobes.tech
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.