Уведомления
Очистить все
C# и .NET
1
Записи
1
Пользователи
0
Likes
879
Просмотры
Создатель темы 29/05/2020 11:06 дп
Вот некоторые из общих отличий между интерфейсом и абстрактным классом в C#.
- Класс может реализовывать любое количество интерфейсов, но подкласс может максимально использовать только один абстрактный класс.
- Абстрактный класс может иметь неабстрактные методы (конкретные методы), тогда как в случае интерфейса все методы должны быть абстрактными.
- Абстрактный класс может объявлять или использовать любые переменные, в то время как интерфейсу это не разрешено.
- В абстрактном классе все члены-данные или функции по умолчанию являются закрытыми, в то время как в интерфейсе все общедоступны, мы не можем изменить их вручную.
- В абстрактном классе нам нужно использовать абстрактные ключевые слова для объявления абстрактных методов, в то время как в интерфейсе нам не нужно это использовать.
- Абстрактный класс не может использоваться для множественного наследования, в то время как интерфейс может использоваться как множественное наследование.
- Абстрактный класс использует конструктор, тогда как в интерфейсе у нас нет какого-либо типа конструктора.