Junior — Middle
Можете ли да објасните шта су апстрактне класе и како се користе у објектно-оријентисаном програмирању?
sobes.tech АИ
Одговор од АИ
Абстрактный класс в C# — это класс, который не может быть инстанцирован напрямую и служит как базовый для других классов. Он может содержать как реализованные методы, так и абстрактные (без реализации), которые должны быть переопределены в наследниках.
Используется для определения общего интерфейса и базового поведения, при этом позволяя подклассам реализовать специфичные детали.
Пример:
abstract class Animal
{
public abstract void MakeSound(); // абстрактный метод
public void Sleep()
{
Console.WriteLine("Спит");
}
}
class Dog : Animal
{
public override void MakeSound()
{
Console.WriteLine("Гав-гав");
}
}
// Использование
Animal dog = new Dog();
dog.MakeSound(); // Выведет "Гав-гав"
dog.Sleep(); // Выведет "Спит"
Таким образом, абстрактные классы помогают создавать шаблоны для семейства связанных классов, обеспечивая обязательную реализацию ключевых методов в наследниках.