Sobes.tech
Junior

Чӣ гуна як усули виртуалӣ дар C# аст?

sobes.tech AI

Ҷавоб аз AI

Методи виртуалӣ дар C# — ин методест, ки бо калиди калидвожа virtual дар синфи асосӣ эълон мешавад, ва метавонад дар синфҳои меросӣ бо истифода аз калиди калидвожа override такрор карда шавад. Ин имкон медиҳад, ки полиморфизм амалӣ шавад, яъне, ки даъвати метод вобаста ба навъи воқеии объект дар вақти иҷро, ва на аз навъи тағирёбанда.

Масалан:

class Animal
{
    public virtual void Speak()
    {
        Console.WriteLine("Ҳайвон овоз медиҳад");
    }
}

class Dog : Animal
{
    public override void Speak()
    {
        Console.WriteLine("Гав-гав");
    }
}

Animal a = new Dog();
a.Speak(); // Натиҷа "Гав-гав" бо сабаби методи виртуалӣ

Бе virtual ва override, даъвати метод статик буд ва навъи воқеии объект дар вақти иҷро ба назар гирифта намешуд.