Sobes.tech
Back to questions
Junior — Middle
75

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

Answer from AI

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 a = new Dog();
a.Speak(); // Выведет "Гав"

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

Таким образом, полиморфизм позволяет работать с объектами через базовый тип, вызывая переопределённые методы конкретных классов.