Back to questions
Junior — Middle
97
Какие существуют способы реализации повторного использования кода, кроме наследования?
Answer from AI
sobes.tech AI
Кроме наследования, повторное использование кода в Java можно реализовать следующими способами:
- Композиция — включение объектов других классов в качестве полей и делегирование им задач. Позволяет гибко комбинировать поведение.
- Интерфейсы с дефолтными методами (начиная с Java 8) — позволяют определить реализацию методов в интерфейсе, которую можно переиспользовать.
- Утилитарные классы и статические методы — общий функционал выносится в отдельные классы с static методами.
- Шаблоны проектирования — например, стратегия, декоратор, адаптер помогают переиспользовать и расширять поведение без наследования.
Пример композиции:
class Engine {
void start() { System.out.println("Engine started"); }
}
class Car {
private Engine engine = new Engine();
void start() {
engine.start();
System.out.println("Car started");
}
}