Sobes.tech
Junior

Kas ir virtuāla metode C#?

sobes.tech AI

Atbilde no AI

C# valodā virtuāla metode ir metode, kas deklarēts ar atslēgas vārdu virtual pamata klasē, un kuru var pārrakstīt atvasinātajās klasēs, izmantojot atslēgas vārdu override. Tas ļauj realizēt polimorfismu, kad metode tiek izsaukta atkarībā no objekta reālā tipa izpildes laikā, nevis mainīgā tipa.

Piemērs:

class Animal
{
    public virtual void Speak()
    {
        Console.WriteLine("Dzīvnieks izdala skaņu");
    }
}

class Dog : Animal
{
    public override void Speak()
    {
        Console.WriteLine("Vau-vau");
    }
}

Animal a = new Dog();
a.Speak(); // Izvadīs "Vau-vau" pateicoties virtuālajai metodei

Bez virtual un override, metode tiktu izsaukta statiski un neņemtu vērā objekta reālo tipu izpildes laikā.