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 жок болсо, метод чакыруусу статикалык болмок жана объекттин чыныгы түрү иштөө учурунда эске алынмак эмес.