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 ведёт себя по-разному в зависимости от типа объекта.