Core - 1

Что имеет более высокий уровень абстракции – класс, абстрактный класс или интерфейс?


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


Копировать ссылку