Конкретный подкласс реализует абстрактные методы и может использовать общую реализацию родителя; затем экземпляр подкласса применяют через базовый контракт.
И дальше как это происходит (наследование от абстрактного класса)?
Конкретный подкласс реализует абстрактные методы и может использовать общую реализацию родителя; затем экземпляр подкласса применяют через базовый контракт.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Конкретный подкласс реализует абстрактные методы и может использовать общую реализацию родителя; затем экземпляр подкласса применяют через базовый контракт.
Для Java пример:
abstract class Exporter {
abstract String export();
}
class CsvExporter extends Exporter {
@Override String export() { return "id,name"; }
}
Exporter e = new CsvExporter(); позволяет вызвать e.export(), получив реализацию подкласса. Сам абстрактный класс создать нельзя. Подкласс может остаться abstract, если не реализует все обязательные методы. Наследование должно сохранять контракт родителя; если общей модели нет, композиция часто понятнее.