Выбор ответа Junior ООП в C# спрашивают часто обновлено
Абстрактный класс или интерфейс
Вопрос
Что может абстрактный класс, но не может интерфейс в современном C#?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Хранить состояние в полях экземпляра и иметь конструктор. С C 8 интерфейсы могут иметь методы с реализацией по умолчанию, а с C 11 статические абстрактные члены, так что реализация и статика больше не отличают их от абстрактного класса.
Варианты ответа
- Хранить состояние в полях экземпляра и иметь конструкторправильный ответ
- Содержать реализацию методов по умолчанию для наследников
- Объявлять статические методы и статические свойства
- Быть реализованным сразу несколькими классами
Разбор
С C# 8 интерфейсы могут иметь методы с реализацией по умолчанию, а с C# 11 статические абстрактные члены, так что реализация и статика больше не отличают их от абстрактного класса. Но поля экземпляра и конструкторы в интерфейсе по-прежнему запрещены. Реализовать интерфейс может сколько угодно классов, а наследоваться класс может только от одного базового класса.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Термины по теме
Ещё по теме «ООП в C#»
- Методы интерфейса по умолчанию
- Явная реализация интерфейса
- Банковские счета: инкапсуляция и инварианты
- Фигуры: полиморфная площадь
- Чем new отличается от override
- new и override при вызове через базовый тип
- Порядок инициализации при создании наследника
- Порядок статических и обычных конструкторов