Core - 1
Что имеет более высокий уровень абстракции – класс, абстрактный класс или интерфейс?
Из трех вариантов - класс, абстрактный класс и интерфейс - интерфейс имеет наивысший уровень абстракции. Интерфейс определяет только контракт или сигнатуры методов без реализации, не содержит состояния и не может иметь реализации методов. Интерфейс предоставляет только общий интерфейс, который должны реализовывать классы с конкретной реализацией.
Класс имеет более низкий уровень абстракции, чем интерфейс, поскольку он может содержать поля, конструкторы и методы с реализацией. Классы предоставляют конкретную реализацию и могут иметь состояние.
Абстрактный класс находится между классом и интерфейсом по уровню абстракции. Он может содержать абстрактные методы без реализации, а также методы с реализацией. Абстрактный класс может иметь состояние и предоставлять базовую реализацию для методов, которые могут быть переопределены в подклассах.