Junior
110
questionbank
Что такое абстрактный класс?
Answer from AI
sobes.tech AI
Абстрактный класс — это класс, который нельзя инстанцировать напрямую. Он служит базовым классом для других классов и может содержать абстрактные члены (методы, свойства, индексаторы, события), которые должны быть реализованы в производных классах.
Основные особенности:
- Объявляется с ключевым словом
abstract. - Может содержать как абстрактные, так и неабстрактные (обычные) члены.
- Абстрактные члены не имеют реализации в базовом классе.
- Производный класс должен либо реализовать все абстрактные члены базового класса, либо сам быть объявлен как абстрактный.
Используется для определения общего контракта для группы связанных классов и для реализации принципа Template Method.
// Объявление абстрактного класса
public abstract class Shape
{
// Абстрактный метод - не имеет реализации
public abstract double Area();
// Неабстрактный метод
public void Display()
{
Console.WriteLine("This is a shape.");
}
}
// Производный класс, наследующий от абстрактного
public class Circle : Shape
{
public double Radius { get; set; }
// Реализация абстрактного метода Area
public override double Area()
{
return Math.PI * Radius * Radius;
}
}