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.