Можно ли реализовать фабричный метод для создания объекта интерфейса?

Да, фабричный метод можно использовать для создания объектов интерфейса. В Java и Android интерфейс сам по себе не может быть инстанцирован, но фабричный метод может возвращать конкретную реализацию этого интерфейса.

Короткий ответ

Что ответить на собеседовании

Да, фабричный метод можно использовать для создания объектов интерфейса. В Java и Android интерфейс сам по себе не может быть инстанцирован, но фабричный метод может возвращать конкретную реализацию этого интерфейса.

Подробный разбор

Ответ с пояснениями

Да, фабричный метод можно использовать для создания объектов интерфейса. В Java и Android интерфейс сам по себе не может быть инстанцирован, но фабричный метод может возвращать конкретную реализацию этого интерфейса.

Например, у вас есть интерфейс Animal и несколько классов, реализующих его:

interface Animal {
    void makeSound();
}

class Dog implements Animal {
    public void makeSound() {
        System.out.println("Woof");
    }
}

class Cat implements Animal {
    public void makeSound() {
        System.out.println("Meow");
    }
}

class AnimalFactory {
    public static Animal createAnimal(String type) {
        if (type.equals("dog")) {
            return new Dog();
        } else if (type.equals("cat")) {
            return new Cat();
        } else {
            throw new IllegalArgumentException("Unknown animal type");
        }
    }
}

Таким образом, вызывая AnimalFactory.createAnimal("dog"), вы получаете объект, реализующий интерфейс Animal. Это классический пример фабричного метода для интерфейса.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку