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

Как можно расширить функционал класса

В Java можно расширить функционал класса несколькими способами:

  1. Наследование (если класс не final)
java
class Parent { void method() {} }
class Child extends Parent { void newMethod() {} }
  1. Композиция (предпочтительнее наследования)
java
class Original { void method() {} }
class Enhanced {
    private Original original;
    void newMethod() { original.method(); }
}
  1. Декоратор (особый случай композиции)
java
interface Component { void execute(); }
class Decorator implements Component {
    private Component component;
    Decorator(Component c) { this.component = c; }
    public void execute() { component.execute(); }
}
  1. Статические утилиты (если нельзя менять оригинальный класс)
java
class StringUtils {
    public static String enhance(String str) { /*...*/ }
}
  1. Аспектно-ориентированное программирование (AOP) для сквозной функциональности
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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