有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

我正在做一个关于Java设计模式的项目。链接中提供了使用设计模式之前的类图。由于我是Java新手,一些类方法描述对我来说是模棱两可的

例如,在一个名为Mall的类中,它有一个方法stores(),方法stores()被抽象地描述为返回商场中商店的“枚举”(我在示例代码中使用Java数组作为占位符)

我想知道Java中的“枚举”是什么,即具体的返回类型应该使用什么?在这种情况下,我们需要使用迭代器设计模式。如果可能,请提供一个例子

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. # 1 楼答案

    您需要根据您的目标创建一个名为Store的抽象类。 为了返回迭代器类型的枚举,我创建了一个列表,并将其元素作为迭代器返回

    我希望这个例子有助于:

    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);
        }
    }