Sobes.tech
Junior

C# da virtual usul nima?

sobes.tech AI

AIdan javob

C# tilida virtual usul, asosiy sinfda virtual kalit so'zi bilan e'lon qilingan bo'lib, meros sinflarda override kalit so'zi yordamida qayta yozilishi mumkin. Bu polimorfizmni amalga oshirish imkonini beradi, bu erda usul chaqiruvi obyektning haqiqiy turiga bog'liq bo'lib, o'zgaruvchining turiga emas.

Misol:

class Animal
{
    public virtual void Speak()
    {
        Console.WriteLine("Hayvon tovush chiqaradi");
    }
}

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

Animal a = new Dog();
a.Speak(); // Virtual usul yordamida "Hav-hav" chiqaradi

virtual va override bo'lmasa, usul chaqiruvi statik bo'lib, obyektning haqiqiy turi ishga tushirish vaqtida hisobga olinmaydi.