Sobes.tech
Junior — Middle

Объектке багытталган программалоодо ар кандай полиморфизм түрлөрүн тизмелеп бере аласызбы?

sobes.tech AI

AIден жооп

Объектке багытталган программалоодо (OOP) негизги полиморфизм түрлөрү бөлүнөт:

  1. Төмөнкү түрдүн полиморфизми (Subtype Polymorphism) — эң кеңири тараган түрү, мурас алуу жана методдорду кайра аныктоо аркылуу ишке ашырылат. Бул негизги класстын объекттери ордуна подкласс объекттерин колдонууга мүмкүндүк берет.

  2. Параметрдик полиморфизм (Parametric Polymorphism) — жалпы типтер (generics) аркылуу ишке ашырылат, анда функциялар же класстар ар кандай маалымат түрлөрү менен иштей алат.

  3. Ad-hoc полиморфизм (Ad-hoc Polymorphism) — функциялар жана операторлордун жүктөлүшүн камтыйт, бир функция ар кандай параметр түрлөрү менен бир нече ишке ашырылышы мүмкүн.

  4. Ишке ашыруу убактысында полиморфизм (Runtime Polymorphism) — виртуалдык методдор жана динамикалык байлоо аркылуу жеткирилет, метод чакыруусу ишке ашыруу учурунда аныкталат.

Swift (iOS)да төмөнкү түрдүн полиморфизмине мисал:

class Animal {
    func sound() {
        print("Кээ бир үн")
    }
}

class Dog: Animal {
    override func sound() {
        print("Чакыр")
    }
}

class Cat: Animal {
    override func sound() {
        print("Мяу")
    }
}

let animals: [Animal] = [Dog(), Cat()]
for animal in animals {
    animal.sound()  // Метод чакыруусу объекттин чын түрүнө көз каранды
}