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

Где лучше применять наследование

Наследование стоит использовать, когда есть строгая иерархия "является" (is-a) и необходимо переиспользовать код родительского класса. Например, `Dog extends Animal` — собака является животным. **Когда применять:** - Логичное отношение родитель-потомок - Общие поля/методы для всех наследников - Полиморфизм (например, `List list = new ArrayList<>()`) **Когда избегать:** - Для композиции ("имеет") — лучше использовать агрегацию - Если наследник нарушает принцип подстановки Лисков (LSP) - Для переиспользования кода без логической связи **Пример:** ```java class Vehicle { void move() { System.out.println("Moving"); } } class Car extends Vehicle { // Логичное наследование @Override void move() { System.out.println("Driving"); } } ``` **Альтернатива:** Композиция (`Car has Engine` вместо `Car extends Engine`).
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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