Sobes.tech
Junior — Middle

Obyektga yo'naltirilgan dasturlashda turli polimorfizm turlarini sanab o'ta olasizmi?

sobes.tech AI

AIdan javob

Obyektga yo'naltirilgan dasturlashda (OOP) bir nechta asosiy polimorfizm turlari ajratiladi:

  1. Subtip Polimorfizmi (Subtype Polymorphism) — eng keng tarqalgan turi, meros olish va metodlarni qayta yozish orqali amalga oshiriladi. Bu yordamida asosiy sinf o'rniga subklasslar ob'ektlaridan foydalanish mumkin.

  2. Parametrik Polimorfizm (Parametric Polymorphism) — umumiy turlar (generics) orqali amalga oshiriladi, bu yerda funksiyalar yoki sinflar har qanday ma'lumot turiga ishlaydi.

  3. Ad-hoc Polimorfizm (Ad-hoc Polymorphism) — funksiyalar va operatorlarning ortiqcha yuklanishini o'z ichiga oladi, bunda bir funksiyaning bir nechta turdagi parametrlar bilan bir nechta amalga oshirilishi mumkin.

  4. Ishga tushirish vaqti polimorfizmi (Runtime Polymorphism) — virtual metodlar va dinamik bog'lanish orqali erishiladi, bu yerda metod chaqiruvi bajarilish vaqtida aniqlanadi.

Swift (iOS) da subtip polimorfizmiga misol:

class Animal {
    func sound() {
        print("Biror tovush")
    }
}

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

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

let animals: [Animal] = [Dog(), Cat()]
for animal in animals {
    animal.sound()  // Metod chaqiruvi ob'ektning haqiqiy turiga bog'liq
}