Добавил:
СПбГУТ * ИКСС * Программная инженерия Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Готовые отчеты (2020) / Java. Лабораторная работа 5.pdf
Скачиваний:
63
Добавлен:
29.01.2021
Размер:
416.49 Кб
Скачать

//Метод создания вектора фабрики векторов public static IVector createInstance(int n) {

return factory.createVector(n);

}

//Ссылка на текущую фабрику векторов

private static VectorFactory factory = new ArrayFactory();

}

Проверим работу класса Vectors в FactoryTest.java (табл. 10).

Таблица 10 — Код FactoryTest.java

import vectors.Vectors; import vectors.Array; import vectors.ArrayFactory;

import vectors.CircularLinkedList; import vectors.CircularLinkedListFactory;

public class FactoryTest {

public static void main(String[] args) throws Exception { System.out.println("By default. ArrayFactory?: " +

(Vectors.createInstance(10) instanceof Array));

System.out.println("By default. CircularLinkedListFactory?: " + (Vectors.createInstance(10) instanceof CircularLinkedList));

Vectors.setVectorFactory(new CircularLinkedListFactory()); System.out.println("After change. ArrayFactory?: " +

(Vectors.createInstance(10) instanceof Array)); System.out.println("After change. CircularLinkedListFactory?: " +

(Vectors.createInstance(10) instanceof CircularLinkedList));

}

}

Результат компиляции и запуска приведен на рис. 2.

Рисунок 2 — Компиляция и запуск FactoryTest.java Заключение

В результате выполнения лабораторной работы мы ознакомились с механизмом шаблонов проектирования «Итератор» и упрощенной версией «Фабричного метода».

15