Sobes.tech
Junior — Middle
81

Какие средства языка C# используют для реализации принципа полиморфизма?

Ответ от нейросети

sobes.tech AI

В C# полиморфизм реализуется с помощью:

  • Виртуальных методов (virtual) и переопределения (override): позволяют подклассам изменять поведение методов базового класса.
  • Абстрактных методов и классов (abstract): задают контракт, который обязаны реализовать наследники.
  • Интерфейсов (interface): определяют набор методов, которые класс должен реализовать, обеспечивая полиморфное поведение.

Пример:

public abstract class Animal
{
    public abstract void Speak();
}

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

public class Cat : Animal
{
    public override void Speak()
    {
        Console.WriteLine("Мяу");
    }
}

// Использование
Animal animal = new Dog();
animal.Speak(); // Выведет "Гав-гав"

animal = new Cat();
animal.Speak(); // Выведет "Мяу"

Таким образом, один и тот же вызов метода Speak ведёт себя по-разному в зависимости от типа объекта.