Выбор ответа Junior ООП в C# спрашивают часто обновлено

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

Вопрос

Что может абстрактный класс, но не может интерфейс в современном C#?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Хранить состояние в полях экземпляра и иметь конструктор. С C 8 интерфейсы могут иметь методы с реализацией по умолчанию, а с C 11 статические абстрактные члены, так что реализация и статика больше не отличают их от абстрактного класса.

Варианты ответа

  1. Хранить состояние в полях экземпляра и иметь конструкторправильный ответ
  2. Содержать реализацию методов по умолчанию для наследников
  3. Объявлять статические методы и статические свойства
  4. Быть реализованным сразу несколькими классами

Разбор

С C# 8 интерфейсы могут иметь методы с реализацией по умолчанию, а с C# 11 статические абстрактные члены, так что реализация и статика больше не отличают их от абстрактного класса. Но поля экземпляра и конструкторы в интерфейсе по-прежнему запрещены. Реализовать интерфейс может сколько угодно классов, а наследоваться класс может только от одного базового класса.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме