Встречается на собеседованиях • сегодня

В чем разница между интерфейсом и классом в C#

Интерфейс определяет контракт (набор методов/свойств), который должен быть реализован, но не содержит их реализации. Класс же может содержать реализацию методов и полей, а также может реализовывать несколько интерфейсов.

Ключевые отличия:

  • Интерфейс не может содержать реализацию (до C# 8.0), класс - может
  • Класс может наследовать только один класс, но несколько интерфейсов
  • Интерфейсы не могут содержать поля (только свойства)
  • Интерфейсы не могут иметь конструкторы

Пример:

csharp
interface IAnimal {
    void MakeSound(); // только сигнатура
}

class Dog : IAnimal {
    public void MakeSound() { // реализация
        Console.WriteLine("Woof!");
    }
}
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы