Объектке багытталган программалоодо ар кандай полиморфизм түрлөрүн тизмелеп бере аласызбы?
sobes.tech AI
AIден жооп
Объектке багытталган программалоодо (OOP) негизги полиморфизм түрлөрү бөлүнөт:
-
Төмөнкү түрдүн полиморфизми (Subtype Polymorphism) — эң кеңири тараган түрү, мурас алуу жана методдорду кайра аныктоо аркылуу ишке ашырылат. Бул негизги класстын объекттери ордуна подкласс объекттерин колдонууга мүмкүндүк берет.
-
Параметрдик полиморфизм (Parametric Polymorphism) — жалпы типтер (generics) аркылуу ишке ашырылат, анда функциялар же класстар ар кандай маалымат түрлөрү менен иштей алат.
-
Ad-hoc полиморфизм (Ad-hoc Polymorphism) — функциялар жана операторлордун жүктөлүшүн камтыйт, бир функция ар кандай параметр түрлөрү менен бир нече ишке ашырылышы мүмкүн.
-
Ишке ашыруу убактысында полиморфизм (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() // Метод чакыруусу объекттин чын түрүнө көз каранды
}