Sobes.tech
Junior — Middle

Môžete vysvetliť koncept polymorfizmu v objektovo orientovanom programovaní?

sobes.tech AI

Odpoveď od AI

Polymorfizmus je princíp objektovo orientovaného programovania, ktorý umožňuje objektom rôznych tried reagovať na rovnaké správy (metódy) rôznymi spôsobmi.

Existujú dva hlavné typy polymorfizmu:

  1. Kompilovaný (statický) — preťaženie metód a operátorov.
  2. Bežiaci (dynamický) — prepísanie metód v dedičných triedach.

Príklad dynamického polymorfizmu v 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");
    }
}

// Použitie
Animal myDog = new Dog();
Animal myCat = new Cat();
myDog.Speak(); // Vypíše "Bark"
myCat.Speak(); // Vypíše "Meow"

Týmto spôsobom sa rovnaké volanie metódy Speak() správa odlišne v závislosti od typu objektu.