Sobes.tech
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");
    }
}