Sobes.tech
Junior — Middle
66

Какие виды данных могут иметь объекты, создаваемые с помощью паттерна Factory?

Answer from AI

sobes.tech AI

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

Виды данных объектов, создаваемых с помощью Factory, зависят от задачи, но чаще всего это:

  • Объекты разных классов, реализующих общий интерфейс или наследующих общий базовый класс.
  • Объекты с разной конфигурацией, но одного типа.

Пример:

interface Transport {
    void deliver();
}

class Truck implements Transport {
    public void deliver() {
        System.out.println("Доставка грузовиком");
    }
}

class Ship implements Transport {
    public void deliver() {
        System.out.println("Доставка кораблем");
    }
}

class TransportFactory {
    public static Transport createTransport(String type) {
        if (type.equals("truck")) {
            return new Truck();
        } else if (type.equals("ship")) {
            return new Ship();
        }
        throw new IllegalArgumentException("Неизвестный тип транспорта");
    }
}

Здесь фабрика создаёт объекты разных классов, реализующих интерфейс Transport.