Junior
23
0
questionbank

В чем разница между абстрактным классом и интерфейсом?

Ответ от нейросети sobes.tech

Абстрактный класс может содержать поля, конструкторы, реализованные и абстрактные методы. Интерфейс содержит только объявления членов (методы, свойства, индексаторы, события), которые должны быть реализованы классами, его наследующими.

ОписаниеАбстрактный классИнтерфейс
ЧленыМогут быть реализованы, могут быть абстрактны, содержать поля.Только объявления членов (без реализации до C# 8).
НаследованиеКласс может наследоваться только от одного абстрактного класса.Класс может реализовывать множество интерфейсов.
Модификаторы доступаМогут использоваться различные модификаторы дос

Абстрактный класс может содержать поля, конструкторы, реализованные и абстрактные методы. Интерфейс содержит только объявления членов (методы, свойства, индексаторы, события), которые должны быть реализованы классами, его наследующими.

ОписаниеАбстрактный классИнтерфейс
ЧленыМогут быть реализованы, могут быть абстрактны, содержать поля.Только объявления членов (без реализации до C# 8).
НаследованиеКласс может наследоваться только от одного абстрактного класса.Класс может реализовывать множество интерфейсов.
Модификаторы доступаМогут использоваться различные модификаторы дос

Зарегистрируйтесь или войдите, чтобы получить доступ к полным ответам на все вопросы из банка вопросов.

abstract-classinterfaceoopinheritancepolymorphism