Junior — Middle
Можете ли да објасните концепт полиморфизма у објектно оријентисаном програмирању?
sobes.tech АИ
Одговор од АИ
Polimorfizam je princip objektno-orijentisanog programiranja koji omogućava objektima različitih klasa da reaguju na iste poruke (metode) na različite načine.
Postoje dve glavne vrste polimorfizma:
- Kompajlerski (statički) — preopterećenje metoda i operatora.
- Izvršni (dinamički) — redefinisanje metoda u naslednim klasama.
Primer dinamičkog polimorfizma u C#:
class Animal {
public virtual void Speak() {
Console.WriteLine("Animal speaks");
}
}
class Dog : Animal {
public override void Speak() {
Console.WriteLine("Bark");
}
}
class Cat : Animal {
public override void Speak() {
Console.WriteLine("Meow");
}
}
// Upotreba
Animal myDog = new Dog();
Animal myCat = new Cat();
myDog.Speak(); // Ispisaće "Bark"
myCat.Speak(); // Ispisaće "Meow"
Na ovaj način, isti poziv metode Speak() ponaša se različito u zavisnosti od tipa objekta.