Junior
125
questionbank
Может ли в абстрактном классе не содержаться ни одного абстрактного метода?
Answer from AI
sobes.tech AI
Да, может. Абстрактный класс может содержать только неабстрактные члены (поля, свойства, методы с реализацией).
Целью такого класса является:
- Предоставление базовой реализации для производных классов.
- Запрет создания экземпляров самого абстрактного класса, гарантируя, что будет использоваться одна из его конкретных реализаций.
// Абстрактный класс без абстрактных методов
public abstract class BaseClass
{
public int Id { get; set; }
public void DisplayInfo() // Неабстрактный метод с реализацией
{
Console.WriteLine($"ID: {Id}");
}
}
// Наследуемый конкретный класс
public class DerivedClass : BaseClass
{
// Может добавлять свои члены или использовать унаследованные
}
// Пример использования
// BaseClass baseObject = new BaseClass(); // Ошибка: нельзя создать экземпляр абстрактного класса
DerivedClass derivedObject = new DerivedClass { Id = 10 };
derivedObject.DisplayInfo(); // Вывод: ID: 10