Junior
Программалоодо полиморфизм деген эмне?
sobes.tech AI
AIден жооп
Полиформизм (грекче "көп форма") — бул ар кандай объектилердин бир эле билдирүүгө (метод чакырууга) ар башка жооп кайтаруу жөндөмдүүлүгү, алардын түрүнө жараша.
Объектке багытталган программалоодо, полиформизм төмөнкүлөрдү камсыздайт:
- Ар кандай класстардын объектилери менен иштөө үчүн жалпы интерфейс же негизги класс аркылуу.
- Көбүрөөк ийкемдүү жана кеңейтилип турган код түзүү.
Полиформизмдин негизги түрлөрү:
- Compile-time (статикалык) полиформизм: методдорду жүктөө (method overloading) аркылуу ишке ашырылат. Бир эле аталыштагы, бирок ар башка сигнатуралары (параметрлердин саны же түрлөрү) бар методдор бир класс ичинде аныкталат.
- Run-time (динамикалык) полиформизм: методдорду кайра аныктоо (method overriding) аркылуу ишке ашырылат. Төмөнкү классдагы метод, ата-klassтагы метод менен бирдей сигнатурага ээ. Кайсы метод чакырылары, иштөө учурунда, объекттин чындык түрүнө жараша аныкталат.
Python мисалы (динамикалык полиформизм):
class Animal:
def sound(self):
pass # Негизги метод, кайра аныкталат
class Dog(Animal):
def sound(self):
# Dog классы үчүн sound методунун кайра аныктоосу
print("Woof")
class Cat(Animal):
def sound(self):
# Cat классы үчүн sound методунун кайра аныктоосу
print("Meow")
# Негизги класс Animal аркылуу объектилер менен иштеген функция
def make_animal_sound(animal):
animal.sound()
# Полиформизмдин колдонулушу
dog = Dog()
cat = Cat()
make_animal_sound(dog) # Dog.sound() чакыруу -> Woof
make_animal_sound(cat) # Cat.sound() чакыруу -> Meow