Sobes.tech
Junior — Middle

Obyekt yönümlü proqramlaşdırmada müxtəlif polimorfizm növlərini sadalaya bilərsinizmi?

sobes.tech Süni İntellekt

AI-dan cavab

Obyekt yönümlü proqramlaşdırmada (OOP) əsas polimorfizm növləri ayırd edilir:

  1. Alt növ polimorfizmi (Subtype Polymorphism) — ən yaygın növ, miras alma və metodların yenidən yazılması ilə həyata keçirilir. Bu, əsas sinfin obyektləri yerinə alt sinif obyektlərinin istifadə olunmasına imkan verir.

  2. Parametrik polimorfizm (Parametric Polymorphism) — ümumi tiplər (generics) vasitəsilə həyata keçirilir, burada funksiyalar və ya siniflər hər hansı məlumat tipilə işləyə bilər.

  3. Ad-hoc polimorfizm (Ad-hoc Polymorphism) — funksiyaların və operatorların yüklənməsini əhatə edir, burada bir funksiya müxtəlif parametri tipləri ilə çoxsaylı icraata malikdir.

  4. İcranın vaxtı polimorfizmi (Runtime Polymorphism) — virtual metodlar və dinamik bağlama vasitəsilə əldə edilir, burada metod çağırışı icra zamanı müəyyən edilir.

Swift (iOS) dilində alt növ polimorfizminə nümunə:

class Animal {
    func sound() {
        print("Hər hansı bir səs")
    }
}

class Dog: Animal {
    override func sound() {
        print("Havlama")
    }
}

class Cat: Animal {
    override func sound() {
        print("Miyov")
    }
}

let animals: [Animal] = [Dog(), Cat()]
for animal in animals {
    animal.sound()  // Metod çağırışı obyektin faktiki növündən asılıdır
}