Как получить значение метода родительского класса из дочернего класса?

«Как получить значение метода родительского класса из дочернего класса?» — вопрос из категории ООП, который задают на 24% собеседований AQA / Automation. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Для вызова реализации метода родительского класса из переопределенного метода в дочернем классе используется ключевое слово super.

Пример в Java:

class Parent {
    public String getInfo() {
        return "Data from Parent class";
    }
}

class Child extends Parent {
    @Override
    public String getInfo() {
        // Получаем значение из метода родителя
        String parentValue = super.getInfo();
        // Дополняем или модифицируем его
        return "Child extension + " + parentValue;
    }
}

// Использование:
Child child = new Child();
System.out.println(child.getInfo()); // Вывод: Child extension + Data from Parent class

Ключевые моменты:

  • super.methodName() явно указывает компилятору использовать версию метода из непосредственного родительского класса.
  • Это стандартный подход для расширения функциональности, а не ее полной замены. Например, в конструкторе дочернего класса вызов super() гарантирует корректную инициализацию полей родителя.
  • В контексте тестирования (например, при наследовании от базового TestBase класса) super часто используется для вызова общей настройки (@BeforeEach) или очистки (@AfterEach).