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:
-
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.
-
Parametrik Polimorfizm (Parametric Polymorphism) — umumiy turlar (generics) orqali amalga oshiriladi, bu yerda funksiyalar yoki sinflar har qanday ma'lumot turiga ishlaydi.
-
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.
-
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
}