Back to questions
Junior — Middle
63
Можете ли вы объяснить, что такое абстрактные методы в языке C# и в чем их отличие от обычных методов?
Answer from AI
sobes.tech AI
Абстрактные методы в C# — это методы, которые объявлены в абстрактном классе без реализации. Они служат как шаблон, который обязаны реализовать все производные классы. В отличие от обычных методов, абстрактные не имеют тела (реализации) в базовом классе и требуют переопределения в наследниках.
Пример:
abstract class Animal
{
public abstract void MakeSound(); // абстрактный метод
}
class Dog : Animal
{
public override void MakeSound()
{
Console.WriteLine("Гав-гав");
}
}
Здесь MakeSound — абстрактный метод, который должен быть реализован в классе Dog. Обычные методы имеют реализацию и могут быть вызваны напрямую, а абстрактные служат для определения обязательного интерфейса для наследников.