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