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(); // Выведет "Мяу"
Таким образом, полиморфизм позволяет работать с объектами через базовый тип, вызывая переопределённые методы конкретных классов.