EMZETT.
Войти

Абстрактный класс или интерфейс?

Коротко: Абстрактный класс — недостроенный чертёж с общим состоянием и кодом. Интерфейс — чистый контракт: он говорит, что класс должен уметь, а не как.

Подробнее: Ни тот, ни другой нельзя создать напрямую. Класс наследуется максимум от одного абстрактного класса, но может реализовывать много интерфейсов. Современные интерфейсы могут содержать методы по умолчанию, но не состояние объекта.

Подробности

| Признак | Абстрактный класс | Интерфейс | |---|

См. также: абстракция, наследование