如何实现一个返回对象“枚举”的函数?

问题描述 投票:0回答:1

我正在开发一个关于使用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)
    {

    }
}
java arrays collections enumeration
1个回答
1
投票

您需要根据目标创建一个名为Store的抽象类。要返回Iterator类型的Enumeration,我创建了一个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);
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.