Может ли в абстрактном классе не содержаться ни одного абстрактного метода?

Да, может. Абстрактный класс может содержать только неабстрактные члены (поля, свойства, методы с реализацией).

Короткий ответ

Что ответить на собеседовании

Да, может. Абстрактный класс может содержать только неабстрактные члены (поля, свойства, методы с реализацией).

Подробный разбор

Ответ с пояснениями

Да, может. Абстрактный класс может содержать только неабстрактные члены (поля, свойства, методы с реализацией).

Целью такого класса является:

  1. Предоставление базовой реализации для производных классов.
  2. Запрет создания экземпляров самого абстрактного класса, гарантируя, что будет использоваться одна из его конкретных реализаций.
// Абстрактный класс без абстрактных методов
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

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку