Sobes.tech
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