Как реализовать функцию, которая возвращает «перечисление» объектов? - PullRequest
0 голосов
/ 03 апреля 2019

Я работаю над проектом шаблонов проектирования с использованием Java. Диаграмма классов перед использованием шаблонов проектирования приведена в ссылке. Поскольку я новичок в Java, описание некоторых методов классов для меня неоднозначно.

Например, в классе с именем Mall, который имеет метод stores(), метод stores() абстрактно описывается как возвращающий «перечисление» магазинов в торговом центре (я использую массивы Java в качестве заполнителя в моем примере кода).

Я хотел бы знать, что может быть «перечислением» в Java, то есть что я должен использовать для конкретного возвращаемого типа? В этом конкретном случае от нас ожидается использование шаблона проектирования Iterator . Пожалуйста, приведите пример, если это возможно.

https://www.dropbox.com/s/kbug0ow3e14284b/DP_Project_1182.pdf?dl=0

public class Mall {
    private String mallId;
    private Store[] Stores;
    private Customer[] customers;

    public void enter(Customer c){}
    public void exit(Customer C){}
    public ShoppingCart getShopingCart()
    {
        return new ShoppingCart();
    }
    public Customer[] customers()
    {

    }
    public Store[] stores()
    {
    }
    void addStore(Store S)
    {

    }
}

1 Ответ

1 голос
/ 04 апреля 2019

Вам необходимо создать абстрактный класс с именем Store согласно вашей цели. Чтобы вернуть Enumeration типа Iterator, я создал List и возвратил его элементы в качестве Iterator.

Надеюсь, этот пример поможет:

public abstract class Store {
    private String name;
    private Item items;
    //..other items
}
public class Mall {
    private Store myStore;
    //Vector which Stores all Store objects
    private List<Store> listOfStores=new LinkedList();
    //stores method which returns an Enumeration of Stores*/
    public Iterator<Store> stores(){
        return listOfStores.iterator();
    }
    public void addStore(Store s){
        listOfStores.add(s);
    }
}
...