Junior
Полиморфизм дар барномасозӣ чист?
sobes.tech AI
Ҷавоб аз AI
Полиформизм (аз грчкиот "многу форми") е способноста на различни објекти да реагираат по различен начин на иста порака (повик на метод), во зависност од нивниот тип.
Во објектно-ориентираното програмирање, полиформизмот овозможува:
- Да работите со објекти од различни класи преку заеднички интерфејс или основна класа.
- Да создавате пофлексибилен и проширлив код.
Главните видови на полиформизам:
- Compile-time (статички) полиформизам: реализира се преку пренатоварување на методи (method overloading). Методи со исто име, но различни сигнатури (број или типови на параметри), се дефинираат во една класа.
- Run-time (динамичен) полиформизам: реализира се преку пренамена на методи (method overriding). Метод во наследена класа има иста сигнатура како тој во основната класа. Кој точно метод ќе биде повикан, се одредува во време на извршување врз основа на вистинскиот тип на објектот.
Пример во Python (динамичен полиформизам):
class Animal:
def sound(self):
pass # Базов метод, кој ќе биде пренамемен
class Dog(Animal):
def sound(self):
# Пренамена на методот sound за класата Dog
print("Woof")
class Cat(Animal):
def sound(self):
# Пренамена на методот sound за класата Cat
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