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

Какие знаешь принципы ООП

Основные принципы ООП в C#:

  1. Инкапсуляция - скрытие деталей реализации. Используем private поля и предоставляем доступ через свойства/методы.
csharp
class Person {
    private string _name;
    public string Name {
        get => _name;
        set => _name = value ?? throw new ArgumentNullException();
    }
}
  1. Наследование - создание новых классов на основе существующих. В C# поддерживается только одиночное наследование.
csharp
class Animal {}
class Dog : Animal {}
  1. Полиморфизм - возможность объектов вести себя по-разному в зависимости от типа. Реализуется через виртуальные методы и переопределение.
csharp
class Shape {
    public virtual void Draw() => Console.WriteLine("Drawing shape");
}
class Circle : Shape {
    public override void Draw() => Console.WriteLine("Drawing circle");
}
  1. Абстракция - выделение главных характеристик объекта. Используем абстрактные классы и интерфейсы.
csharp
interface ILogger {
    void Log(string message);
}

Дополнительно в C# важны принципы SOLID, но это уже более продвинутая тема.

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