Как отвечать на вопрос про ООП
Обычно ждут перечисления основных принципов:
— Инкапсуляция: защищает данные от некорректного использования. В классе BankAccount поле balance закрыто, а доступ к нему возможен только через методы Deposit и Withdraw, которые проверяют корректность операций.
— Наследование: позволяет создавать новый класс на основе существующего. Есть базовый класс Animal с методом MakeSound(), от него наследуются Dog и Cat, переопределяя этот метод для лая и мяуканья.
— Полиморфизм: один интерфейс – разное поведение. Метод Draw() в классе Shape переопределяется в Circle и Rectangle, где реализуется своя логика отрисовки.
— Абстракция: скрывает детали реализации. В абстрактном классе Vehicle есть метод Move(), но его реализация оставлена для наследников – Car и Bicycle, где движение осуществляется по-разному.
А еще его часто задают, чтобы начать беседу и перейти к другим вопросам, например: — Чем отличается абстрактный класс от интерфейса? — Как используется new при наследовании?