Встречается на собеседованиях • сегодня
Где лучше применять наследование
Наследование стоит использовать, когда есть строгая иерархия "является" (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`).

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы